c++ 的“!”逻辑运算与“~”位运

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
以上是c++ 的“!”逻辑运算与“~”位运的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>