名称符号
按位与 &
按位或 |
按位异或 ^
按位取反 ~
左移运算 <<
右移运算 >>
&按位与的用法(相同为1不同为0)
例如1:3&8
3转化为二进制是0000 0011
8转化为二进制是0000 1000
00000011和00001000比较为0000 0000 (完全没有共同)所以为转化为十进制是0
例如2:3&5
3转化为二进制是0000 0011
5转化为二进制是0000 0101
00000011和00000101比较为00000001(有共同的1) 所以转化为十进制是1
|按位或的用法(只要有1这个位数上就是1,都为0的情况下才为0)
例如1:3|8
3转化为二进制是0000 0011
8转化为二进制是0000 1000
00000011和00001000比较为00001011 所以转化为十进制是11
例如2:3|5
3转化为二进制是0000 0011
5转化为二进制是0000 0101
00000011和00000101比较为00000111 所以转化为十进制是7
^按位异或的用法(相同为0不同为1,都为0的情况下为0)
例如1:3^8
3转化为二进制是0000 0011
8转化为二进制是0000 1000
00000011和00001000比较为00001011 所以转化为十进制是11
例如2:3^5
3转化为二进制是0000 0011
5转化为二进制是0000 0101
00000011和00000101比较为00000110 所以转化为十进制是6
~按位取反的用法
例如:~9 x=-10
<<左移运算的用法
例如1:3<<2
3转化为二进制是0000 0011
位移过后的二进制是0000 1100 转化为十进制是12
>>右移运算的用法 不能整除时取整数
例如1:80<<4
80转化为二进制时01010000
位移后的二进制时00000101 转化为十进制是5
网友评论