小编Siv*_*aSu的帖子

通过左移,可以将数字设置为零

我对左移操作员有疑问

int i = 1;
i <<= (sizeof (int) *8);
cout << i;
Run Code Online (Sandbox Code Playgroud)

它打印1.

  1. 我已初始化为1.
  2. 在将位移动到整数大小的同时,它将LSB填充为0并且当1超过整数的限制时,我期望输出为0.

它是如何以及为何是1?

c c++ bit-manipulation bit-shift bitwise-operators

4
推荐指数
1
解决办法
384
查看次数

标签 统计

bit-manipulation ×1

bit-shift ×1

bitwise-operators ×1

c ×1

c++ ×1