66问答网
所有问题
c语言1左移32位(1<<32)是多少,左移-1位呢?求大神解释!!!
如题所述
举报该问题
推荐答案 2013-04-17
C语言中 << 是逻辑移位,不是循环移位。
1 左移 32 位后为 0,左移 -1 位实际是左移 255 位(互补),当然也是0。
这种问题可以写一段
小程序
,单步执行,看一下每一步的结果。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/sDUsxsv2v.html
其他回答
第1个回答 2013-04-16
1左移32位仍然是1,因为是循环移位
左移-1变为0x80000000
第2个回答 2013-04-16
1左移32位(1<<32)是1,左移1位是2,左移-1位是-2147483648
相似回答
c 语言
不太理解说的右移和
左移
的情况。能举个例子
解释
下那吗。就是...
答:
解答:正数在存储的时候就是原数字,但是负数要采取补码的方式存储。这样,负数的最高位就是1。比如:对于
32位
的系统int为四个字节,共32位,数字1就是0xffffffff(即-1的补码,最高
位是1)
。对于0xffffffff 已经占满的32个位
,左移
时,高位全部舍去不要,低位补0.比如左移4位就变成 0xfffffff0...
c语言
右移和
左移
是怎样转换的?
答:
右
移一位
相当于除以2。例:5>>1 5的二进制表示是101,那么右移一位之后是10就是2了,是整除的
;左移
的话就是在后面补一个零,相当于是乘以二,那么变成了1010,十进制是10。101右移,就是把最后一位拿掉了,是10这个是二进制的,十进是2,5/2本来是小数,但这里是整数操作的,所以把小数...
c语言
的位运算疑惑
答:
1:040 是八进制的表示。换成十进制是 4*8+0*1=32 2:ASCII编码表中 32表示的是空格符号。 char中寸的是ASCII编码,所以是32 3:位移运算:>>表示右移位 我以8为例。8的二进制是1000, 8>>1对应的二进制形式就是1000——0100看到变化了没有。所以右移位相当于这个数除2
左移位
你看看 010...
C语言
按位
左移
运算规则
答:
C语言
中按位
左移
的运算符为<<,其规则如下:对于操作a<<n,1 按照二进制值每位向高位(书写上是向左)移动n位;2 最高位(最左边的)n位舍去;3 最低位(最右边)填加n个0.简单起见,用char型举例如下:例一 0x12 << 3 => B00010010 << 3 => B10010 000(这里最高位的三个0被舍去,...
c语言位
运算符的用法
答:
c语言位
运算符的用法如下: 一、位运算符
C语言
提供了六种位运算符: & 按位与 | 按位或 ^ 按位异或 ~ 取反 <<
左移
>> 右移 1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补...
C语言
中
32
<<
1
代表什么意思?
答:
把
32左移1位
,也就是把32转为二进制后,再进行左移1位,结果就是64
,左移1位
就相当于把原来的数*2,右移就是除以2.
大家正在搜
c语言位运算左移右移
32位和16位c语言
c语言16位转32位
c语言左移右移怎么运算
c语言32位高低位互换
c语言读取32位float
c语言 左移
c语言左移运算符怎么用
c语言左移运算符
相关问题
c语言1左移32位(132)是多少,左移
C语言 左移位的问题,求大神,帮忙解释一下!!!
1左移-1是多少,为什么
C语言中的(uint32)1<<10 是什么意思?
1 << 3 16进制的1左移3个位
c语言移位运算,当移动32位时,该怎么处理
c语言左移位数超过数据类型的长度了怎么办??
C语言中,移位表示什么?有什么用?