码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2021-03-17 14:15:23      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:mes   执行   main   info   name   str   一个   com   png   

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

结果如图

技术图片

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

标签:mes   执行   main   info   name   str   一个   com   png   

原文地址:https://www.cnblogs.com/linkStartIsNow/p/14540726.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!