完美实现按位NOT(〜)操作

问题描述 投票:0回答:1

最近,我正在做一些与位操作有关的事情。到目前为止,我已经尝试了许多位操作。但是我只能进行一次手术。

假设我的整数n = 5;二进制(101),现在我想对这个int执行按位NOT运算,我认为结果是(010),但是结果是-6。

但是当我尝试n =〜(-n)时,结果为4(尽管仍然没有得到正确的输出)。请告诉我为什么显示这种行为是因为我的int不是未签名的。另外,请告诉我实现此操作的理想方法,以便获得正确的输出。

谢谢

c++ c bit-manipulation bitwise-operators bit
1个回答
0
投票

您可能想要这个:

n = 5;
n = ~n & 0x7;
© www.soinside.com 2019 - 2024. All rights reserved.