位运算................

来源:百度知道 编辑:UC知道 时间:2024/06/09 02:38:26
char b;
b=~4&3;
~这个实干什么的?
b的结果为什么是3?

这样写你就明白了。

b=~0x0100&0x0011;
~就是按位取反,0x0100取反得0x1011,然后和0x0011相与,得0x0011,也就是b=3 。

~是取反符号,
4的二进制,0100,~4 = 1011;
3的二进制,0011, 相与,~4&3 = 1011 & 0011 = 0011 = 3

在逻辑运算符号中,~是按位取反的意思。&是与运算。
具体的操作用二进制表示更明确
4的二进制:0100,取反以后就是:1011
3的二进制:0011
位运算的优先级是相同的,所以这里先进行取反运算,再进行与运算
所以运算结果:1011
&0011
------
0011
结果:0011,转换成十进制:3