关于c++中移位操作符的一点坑

时间:2021-03-17 14:15:23   收藏:0   阅读:0

1.对于 1<<(32或者更大),答案都是正常处理得到0

2.但是假如说1<<(x),x为一个变量,那么在移位前x会对32取模

验证

使用vs2019的c++项目,执行以下代码

#include <iostream>
using namespace std;
int main()
{

    cout <<"1<<90 =="<<(1U << 90) << endl;
    int t = 90;
    cout << "1<<t(t=90)==" << (1U << t) << endl;
    return 0;
}

结果如图

技术图片

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!