我对左移运算符有疑问
int i = 1;
i <<= (sizeof (int) *8);
cout << i;
它打印 1。
如何以及为什么它是 1?
最佳答案
假设 sizeof(int)
在您的平台上为 4。那么表达式就变成了:
i = i << 32;
标准说:
关于c++ - 通过左移,可以将数字设置为零吗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9429156/
我对左移运算符有疑问
int i = 1;
i <<= (sizeof (int) *8);
cout << i;
最佳答案
假设 sizeof(int)
在您的平台上为 4。那么表达式就变成了:
i = i << 32;
关于c++ - 通过左移,可以将数字设置为零吗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9429156/