位与 &

位均为1时,才为1;否则为0.
例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二进制补码) 00000001 (1的二进制补码)可见9&5=1。 按位与运算通常用来对某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 运算 ( 255 的二进制数为11111111)。

位或 |

有一个为1,结果位就位1.

异或 ^

相同为0,不同为1. n^n=0, n^0=n

取反 ~

左移 <<

左移n位就是乘以2的n次方。
1.例: a<<4 指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。

右移 >>

右移n位就是除以2的n次方

左移右移注意有符号数。
左移就是: 丢弃最高位,0补最低位。
右移对符号位的处理和左移不同: 对于有符号整数来说,比如int类型,右移会保持符号位不变。

标签: none

添加新评论