c语言中 1<<20 是什么意思?

 我来答
床前明月儿
高能答主

2020-02-22 · 探索生活中的另一种可能
床前明月儿
采纳数:101 获赞数:171947

向TA提问 私信TA
展开全部

就是把1按二进制方式向左移20位,00000000 00010000 00000000 00000000,也就是十进制的1048576。

<<在C语言中是移位符左移的意思,用来将一个数的各二进制位全部左移N位,高位舍弃,低位补0。    

在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。


扩展资料

>>为右移运算符,按二进制形式把所有的数字向右移动对应位移位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。

需要移位的数字 >> 移位的次数,例如11 >> 2,则是将数字11右移2位。

按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。其他结构和>>相似。

参考资料来源:百度百科-移位运算符

素朴且轻捷灬布丁
推荐于2017-12-16 · 超过14用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:40.5万
展开全部
意思就是将1的二进制名代码向左移20位。
左移一位相当于对该数乘2,左移n位就相当于乘n个2,
例如:a<<2; 就是将a左移2位. 相当于a*2*2;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yjf_victor
2011-11-12 · TA获得超过3526个赞
知道小有建树答主
回答量:1164
采纳率:100%
帮助的人:423万
展开全部
就是把1,位左移20位(按二进制来移动)
在32位机中,十进制的1就是 00000000 00000000 00000000 00000001,
位左移20位就是 00000000 00010000 00000000 00000000,也就是十进制的1048576
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
左自强
2011-11-12 · TA获得超过385个赞
知道小有建树答主
回答量:528
采纳率:0%
帮助的人:350万
展开全部
位操作,1换成32为的二进制数后是:000000000000000000000000000001;
1<<20表示左移20位,所以1<<20=000000000100000000000000000000。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
子兴软件工作室
2011-11-12 · TA获得超过487个赞
知道小有建树答主
回答量:754
采纳率:50%
帮助的人:292万
展开全部
二进制位移操作
将1的二进制数左移20位
要是类型长度不够移出的位会丢失的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式