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;
}

结果如图

posted on 2021-03-15 23:10  艾卡西亚暴雨突突突  阅读(26)  评论(0)    收藏  举报