del*_*ber 2 c
3位最多可容纳7(4 + 2 + 1).我正在尝试使用按位运算来计算它.
3 is 0b011 ~3 is 0b100
做一个按位或我希望0b111(即7).相反,我得到了
int result = (~3) | 3; printf("%i\n", result);
-1
我究竟做错了什么?
das*_*ght 6
你做的一切都是正确的:N | ~N产生一个二进制表示的数字,包括所有的数字.这样的数字被解释为-1在二进制补码负数表示.
N | ~N
归档时间:
12 年,7 月 前
查看次数:
228 次
最近记录: