c位运算

来源:互联网 发布:淘宝店图标 编辑:程序博客网 时间:2024/06/17 14:24

计算机bit叫做位

按位与   1 & 1  = 1    1 & 0 = 0     0 & 0 = 0

    0 0 1 0  0 0 0 1

    1 1 1 1  0 0 0 0

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

    0 0 1 0  0 0 0 0

按位与结果为  00100000  


按位或    1 | 1   = 1    1 |  0 = 1     0 | 0 = 0

    0 0 1 0  0 0 0 1

    1 1 1 1  0 0 0 0

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

    1 1 1 1 0 0 0 1

按位或结果为   11110001 


按位取反   1 --> 0     0 --> 1

   0 0 1 0  0 0 0 1

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

    1 1 0 1 1 1 1 0

按位取反   11011110


按位异或   相同为0   不同为1


    0 0 1 0  0 0 0 1

    1 1 1 1  0 0 0 0

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

    1  1 0 1 0 0 0 1

按位异或结果为   11010001


表达式为:  a | b           a & b            a ^ b      ~ a


位移

向左移动


    0   0   1   1   0   0   1   0

0  0   1    1   0   0   1   0  

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

    0    1    1  0   1   1    0  0 


   a <<  1    左移一位    得到结果位     0    1    1  0   1   1    0  0 

左位移   左超出位删掉,右多余位补0


 a  = 0x33 

  a >> 1  a右移一位

     0    1    1   0     0   1  1   0

            0   1   1    0    0   1   1   0

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

     0    0    1    1   0    0   1     1


a >> 1 得到结果   00110011

右移  右边超出位丢弃   ,左边多余位,是正数就为0  ,负数 就为1  

无符号数据就为0  


















原创粉丝点击