c语言中 1<<20 是什么意思?
5个回答
展开全部
就是把1按二进制方式向左移20位,00000000 00010000 00000000 00000000,也就是十进制的1048576。
<<在C语言中是移位符左移的意思,用来将一个数的各二进制位全部左移N位,高位舍弃,低位补0。
在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。
扩展资料
>>为右移运算符,按二进制形式把所有的数字向右移动对应位移位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。
需要移位的数字 >> 移位的次数,例如11 >> 2,则是将数字11右移2位。
按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。其他结构和>>相似。
参考资料来源:百度百科-移位运算符
展开全部
意思就是将1的二进制名代码向左移20位。
左移一位相当于对该数乘2,左移n位就相当于乘n个2,
例如:a<<2; 就是将a左移2位. 相当于a*2*2;
左移一位相当于对该数乘2,左移n位就相当于乘n个2,
例如:a<<2; 就是将a左移2位. 相当于a*2*2;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是把1,位左移20位(按二进制来移动)
在32位机中,十进制的1就是 00000000 00000000 00000000 00000001,
位左移20位就是 00000000 00010000 00000000 00000000,也就是十进制的1048576
在32位机中,十进制的1就是 00000000 00000000 00000000 00000001,
位左移20位就是 00000000 00010000 00000000 00000000,也就是十进制的1048576
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
位操作,1换成32为的二进制数后是:000000000000000000000000000001;
1<<20表示左移20位,所以1<<20=000000000100000000000000000000。
1<<20表示左移20位,所以1<<20=000000000100000000000000000000。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
二进制位移操作
将1的二进制数左移20位
要是类型长度不够移出的位会丢失的
将1的二进制数左移20位
要是类型长度不够移出的位会丢失的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询