一、“与”运算符——&:
1.迅速清零:对应的掩码设为0。
2.保留指定位置:保留哪位,对应的掩码位就设为1。
3.判断奇偶性:int d = a&1。所得结果为1,则a为奇数;所得结果为0,则a为偶数。
如:
int a = 4;//00000000 00000000 00000000 00000100
int b = 7;//00000000 00000000 00000000 00000111
int c = a&b;
二、“异或”运算符——^:
1.定位反转:将该数按位异或255,即a = a ^ 0xFF;
2.数值交换:
int a = 9,b = 5;
a = a ^ b;
b = b ^ a;
a = a ^ b;
运行结果为:a = 5,b = 9。
三、“左移”运算符——<<:
int a = 3;//00000000 00000000 00000000 00000011
a = a << 4;//00000000 00000000 00000000 00110000
实现原理:高位丢弃,低位补0。
左移n位,将值乘以2 ^ n,实现了二倍乘运算。实现速度比乘法快很多。
同理“右移”运算符也如此。