Microsoft Visual C++ 2010 01019-532-2002102-70298
该版本运算符“!”,只有逻辑运算,没有位运算
比如:
int XXX =0 ;
XXX =!XXX;
XXX 的结果是1。
而理论上结果应该是-1(十六进制0xffffffff) 。
XXX =2 ;
XXX =!XXX;
XXX 的结果还是1。
mov dword ptr XXX ,2
xor eax,eax
cmp dword ptr XXX ,0
sete al
mov dword ptr XXX ,eax
根本没有使用 not 指令
“~”位运算,才有not