相关疑难解决方法(0)

当使用超过32次时,32位整数为什么不按预期工作,为什么不移位"<<"?

当我编写以下程序并使用GNU C++编译器时,1我认为输出是由编译器执行的旋转操作引起的.

#include <iostream>

int main()
{
    int a = 1;
    std::cout << (a << 32) << std::endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但从逻辑上讲,正如所说的那样,如果位溢出位宽就会丢失,输出应为0.发生了什么?

代码在ideone上,http: //ideone.com/VPTwj .

c++ bit-shift

59
推荐指数
7
解决办法
5万
查看次数

改变一个整数

我们有一个整数

int x = 50;
Run Code Online (Sandbox Code Playgroud)

在二进制中,它是

00110010
Run Code Online (Sandbox Code Playgroud)

如何以编程方式更改第四(第4)位?

c c++ bit-manipulation bitwise-operators

31
推荐指数
3
解决办法
4万
查看次数

标签 统计

c++ ×2

bit-manipulation ×1

bit-shift ×1

bitwise-operators ×1

c ×1