就是把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;
就是把1,位左移20位(按二进制来移动)
在32位机中,十进制的1就是 00000000 00000000 00000000 00000001,
位左移20位就是 00000000 00010000 00000000 00000000,也就是十进制的1048576
位操作,1换成32为的二进制数后是:000000000000000000000000000001;
1<<20表示左移20位,所以1<<20=000000000100000000000000000000。
二进制位移操作
将1的二进制数左移20位
要是类型长度不够移出的位会丢失的