专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

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

作者:huqin   来源:本站原创   点击数:  更新时间:2014年04月22日   【字体:

 

 
 
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
 
关闭窗口

相关文章