小编Ron*_*ard的帖子

在C ++中将1 << 2和1 << 3相加时的输出很奇怪

所以我只是尝试在C ++中进行一些操作。这是我尝试过的:

int a = 1<<2;
cout<<a;
Run Code Online (Sandbox Code Playgroud)

给出的输出为4。

int a = 1<<3;
cout<<a;
Run Code Online (Sandbox Code Playgroud)

这给出的输出为 8

但是当我这样做时:

int a = 1<<2 + 1<<3;
cout<<a;
Run Code Online (Sandbox Code Playgroud)

给出的输出为64。为什么这样?

我也尝试过:

int a = 1<<2;
int b = 1<<3;
cout<<a + b;
Run Code Online (Sandbox Code Playgroud)

给出12预期的输出。

c++ bit-manipulation

8
推荐指数
2
解决办法
127
查看次数

标签 统计

bit-manipulation ×1

c++ ×1