
取反~要把符号位也考虑进去:把 *** 作数各位0变1, 1变0
要考虑符号位的是
左移:把左 *** 作数左移指定位数,右端空位置补0
右移:把做 *** 作数右移指定位数,左端空位置上的值与原来的符号为相同,对无符号数左端移入0;
#include<stdioh>
void main(){
int a = 16, b = 10, c;
c = ~16;
printf("%d\n",c);
c = a<<2;
printf("%d\n",c);
c = a>>2;
printf("%d\n",c);
}
-17
64
4
Press any key to continue
查看第三位是1还是0,只要对该数和下面数求& *** 作即可
00000100 = 0x04
如 BYTE a;
if(a & 0x04)
cout<<"第三位是 1"<<endl;
else
cout<<"第三位是 0"<<endl;
以上就是关于按位取反运算:int a=16,c=~a;,变量c的值为多少全部的内容,包括:按位取反运算:int a=16,c=~a;,变量c的值为多少、C++中如何对BYTE类型的字符串按位 *** 作、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)