在x86 64位中,我有以下指令:
and $0xf, %eax
%eax之前和之后的内容仍然是4.这怎么可能? ANDing 100 & 1111
应该导致1100
为12,而不是4。
答案 0 :(得分:13)
从什么时候开始0100 & 1111 = 1100
?
0100 = 4
& 1111 = 15
------
0100 = 4
答案 1 :(得分:9)
将100
视为0100
,您可以看到0100 & 1111
显然是0100
。
答案 2 :(得分:6)
不 - 你犯了一个错误。 100& 1111 = 100。