我正在执行以下声明。
选择10& ~3。这使输出为8选择10& ~5。这使输出为10选择10& ~2。这使输出为8
谁能……
这是按位运算,而且是反向的。
3 is the same as 0011 in binary, and inverse of that is 1100 2 is the same as 0010 in binary, and inverse of that is 1101 5 is the same as 0101 in binary, and inverse of that is 1010 10 is the same as 1010 in binary. 10 & ~3 => 1010 & 1100 = 1000 => 8 10 & ~5 => 1010 & 1010 = 1010 => 10 10 & ~2 => 1010 & 1101 = 1000 => 8
按位是有点位的
你也可以用小数来思考,但你也必须把你的心态设置成二进制(序列1,2,4,8,16,32,64,128 ......)。 10由“8 | 2”组成,3由“1 | 2”组成。 3的逆是“1 | 2”。 10和3之间的共同部分是2,所以你将得到10中不是3的所有部分,因此给我们8。