• c 基础 -位计算


     

    1.十进制转二进制:67=2的6次方 + 2 + 1,即1+000000+1*2的1次方 + 1*2的0次方 =100000011

    2.n位二进制的取值范围:0 ~2的n次方 -1     eg 101,:110,011,

    3.二级制之间的一些计算:

      a.按位与 “&”

        规则:两个二进制位都是1,那么就给是1,否则结果是0

        作用:可以精确的判对比二进制位,只和1作对比就可以了,可以判断奇偶性(x位与1结果为1,那么x是奇数,结果为0,x是偶数)

        eg.   00101

            10100

           ---------------------

            00100

      b.按位或 “|”

        规则:两个二进制位只要有一个是1,那么结果就是1

        eg. 00101 | 10100  结果是:10101

      c.按位异或 “^”

        规则: 两个二进制位不相同,结果为1,否则结果是0

        结论:相同的两个是异或,结果为0

             异或可以交换 9^5^6=9^6^5

             任何数值跟0异或,结果还是原来的数,9^0=9

        综合应用:a ^ b ^ a=b

        eg.   00101 ^  10100  结果是:10001

      d.按位取反 “~”

        规则:一个二进制位上取反

        eg. ~10100 = 01011

      e.左移  “<<”

        规则:二进制位向左移 n 位,高位舍去,低位0补齐,

        结论:a << n ,结果是a*2的n次方

        作用:用于计算次方,性能比直接循环乘的方式好

      f.右移 “>>”

        规则:符号位不变,其它位向右移,舍去低位,一般用符号位值补齐高位

        结论:a >> n ,结果是:a除以2的n次方

  • 相关阅读:
    四川第七届 C Censor (字符串哈希)
    四川第七届 C Censor (字符串哈希)
    Android:实现两个Activity相互切换而都不走onCreate()
    正宗佛祖凝视-原装正版
    iOS中数组遍历的方法及比較
    html5 返回当前地理位置的坐标点(经纬度)
    Android之——卸载应用程序
    Android—— 4.2 Vold挂载管理_NetlinkManager (四)
    2014年java软件project师面试题收集
    C++刷题——2736: 指针练习--输出最大值
  • 原文地址:https://www.cnblogs.com/hui1107464497/p/4526274.html
Copyright © 2020-2023  润新知