小编Jam*_*iff的帖子

为什么翻转 1 时不会给出意想不到的结果?

我目前正在学习按位运算符的过程,我遇到了一些我不太明白的事情。

我目前正在使用 NOT(~) 运算符,它应该反转所有位。因此,为了更好地理解它,我尝试创建一个程序来翻转数字 1 的位。

int main()
{
    int x = 1; // 0001 in binary
    int y = ~x; // should flip the bits, so its 1110, or 14
    cout << y; 
}
Run Code Online (Sandbox Code Playgroud)

然而,当运行这个时,我得到的结果是-2。谁能解释一下为什么这不起作用?

c++ bitwise-operators bitwise-not

0
推荐指数
1
解决办法
132
查看次数

标签 统计

bitwise-not ×1

bitwise-operators ×1

c++ ×1