电脑中都使用二进制数,只有0和1两个数码,逢二进一,最容易用电路来表达,比如0代表电路不通,1代表电路通畅。我们平时用电脑时感觉不到它是在用二进制计算是因为电脑会把你输入的信息自动转换成二进制,算出的二进制数再转换成你能看到的信息显示到屏幕上。
按位与(&)
这个数的每个位都需要两个输入数的同一位都为1时才为1
按位或(|)
这个数的每一位设置1的条件是两个输入数的同一位都不为0(即任意一个为1,或都为1)
按位异或(^)
这个数的每个位设为1的条件是两个输入数的同一位不同,如果相同就设为0
按位取反(~)
对一个操作数的每一位都取反
按位左移(<<)
将操作数的所有位向左移动指定的位数。
下图展示11111111 << 1(11111111 左移一位)的结果。蓝色数字表示被移动位,灰色表示被丢弃位,空位用橙色的0填充。
按位右移(<<)
将操作数的所有位向又移动指定的位数。
下图展示11111111 >> 1(11111111 右移一位)的结果。蓝色数字表示被移动位,灰色表示被丢弃位,空位用橙色的0填充。