位运算符
对二进制的各位进行运算的符号,专门针对数字0或1进行操作
位运算符
按——位
|——位或
~——反转
^——位异或
——向右移动
and运算符
将参与运算的二进制数运算为
如果两个二进制位都为1,则运算结果为1,否则为0
例如
6——00000110
11——00001011
运算结果00000010——数值为2
或运算符|
参与运算的二进制数或运算
如果2个二进制位中任意一个的值为1,则运算结果为1,否则为0
例如
6——00000110
11——00001011
运算结果为00001111,数值为15
取逆运算符~
仅对一个操作数执行操作
二进制比特为0时,反转值为1,值为1时,反转值为0
例如
6——00000110
运算结果为11111001,数值为-7
异或运算符
对参与运算的二进制数进行异或运算
如果二进制比特相同,则值为0,否则值为1
例如
6——00000110
11——00001011
运算结果为00001101,数值为13
左移运算符
将操作数的所有二进制位左移一位
运算时,右边的空位补充0,左边移动的部分舍去
例如
数字11,左移一个
11——00001011
运算结果为00010110,数值为22
右移运算符
在将操作数所有二进制比特向右移动1比特进行运算时,左侧的空闲比特根据原来数的编码比特为0或1,如果元是负数则为1,如果元是正数则为0,例如数字11,向右移动1比特后为1,1133540000010101