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