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

2024-11-18 17:22:20
推荐回答(5个)
回答1:

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

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

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


扩展资料

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

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

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

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

回答2:

意思就是将1的二进制名代码向左移20位。
左移一位相当于对该数乘2,左移n位就相当于乘n个2,
例如:a<<2; 就是将a左移2位. 相当于a*2*2;

回答3:

就是把1,位左移20位(按二进制来移动)
在32位机中,十进制的1就是 00000000 00000000 00000000 00000001,
位左移20位就是 00000000 00010000 00000000 00000000,也就是十进制的1048576

回答4:

位操作,1换成32为的二进制数后是:000000000000000000000000000001;
1<<20表示左移20位,所以1<<20=000000000100000000000000000000。

回答5:

二进制位移操作
将1的二进制数左移20位
要是类型长度不够移出的位会丢失的