C里int形变量占两个字节,最小值为负的2的15次方(-32768),是怎么算出来的.
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/19 19:04:13
C里int形变量占两个字节,最小值为负的2的15次方(-32768),是怎么算出来的.
数据在存储单元中是以补码的形式存的,那么在算范围的时候是把补码转化为十进制吗?(-32768是补码转化过来的吗),如果是的话,补码就是1000000000000000,那不是把符号位也算在内了吗?
数据在存储单元中是以补码的形式存的,那么在算范围的时候是把补码转化为十进制吗?(-32768是补码转化过来的吗),如果是的话,补码就是1000000000000000,那不是把符号位也算在内了吗?
你可以这样理解,当符号位是1时,补码的转换要反转各位再加1(不算符号位),所以-32768就是15个0反转成15个1,再加1,这时正好变成10000(15个0),也就是负的(这个负的是因为原来的符号位是1确定的)2^15.
再问: "所以-32768就是15个0反转成15个1" 你的意思是原码是100(15个0),但为什么原码是这个?
再答: 这个计算后的1000(15个0)你可以认为是无符号位的原码,它表示的不正是2^15方吗,它也是-32768的绝对值,32768比较特殊,因为有进位,你可以比较下-32767。
再问: 那反过来想,我要存储-32768,它的二进制是(不含符号位)1000(15个0),那接下去是把它转化为补码来储存呢,还是直接储存?如果转化为补码的话,01111(15个1)+1,结果为100(15个0),那不是没有符号位,不知道正负吗?
再答: 所以让你比较下-32767,补码怎么算的?把绝对值各位取反再加1,得到的就是补码,补码第一位叫符号位。其实-32768你也可以认为是+32768,就是32767(15个1)后面的那个数,注意,从这时候起,第一位是1了,但规定int的表示范围是[-32768~32767]的,这时第一位是1,所以正好就当成符号位吧。
再问: "所以-32768就是15个0反转成15个1" 你的意思是原码是100(15个0),但为什么原码是这个?
再答: 这个计算后的1000(15个0)你可以认为是无符号位的原码,它表示的不正是2^15方吗,它也是-32768的绝对值,32768比较特殊,因为有进位,你可以比较下-32767。
再问: 那反过来想,我要存储-32768,它的二进制是(不含符号位)1000(15个0),那接下去是把它转化为补码来储存呢,还是直接储存?如果转化为补码的话,01111(15个1)+1,结果为100(15个0),那不是没有符号位,不知道正负吗?
再答: 所以让你比较下-32767,补码怎么算的?把绝对值各位取反再加1,得到的就是补码,补码第一位叫符号位。其实-32768你也可以认为是+32768,就是32767(15个1)后面的那个数,注意,从这时候起,第一位是1了,但规定int的表示范围是[-32768~32767]的,这时第一位是1,所以正好就当成符号位吧。
在C语言一个int型数据在内存占2个字节,则int型数据的取值范围.2的八次方等于32768?能马上解释我立即采
若int类型数据占两个字节,则下列语句的输出为() Int k=-1; printf("%d,%u",k,k);
若int 类型占两个字节,则下列程序段的输出是()int =-1;printf("%d,%u",a a);
若int 类型占两个字节,则下列程序段的输出是()int =-1;printf("%d,%u\n",a a);
【C语言】一个有符号的int型数据占两个字节,请问如何求其数据范围?
22.假设int型变量占两个字节的存储单元,若有定义:int x[6]={0,2,4};
计算机存储容量的基本单位是字节,那么2的37次方字节相当于多少吉字节
真空中有两个点电荷,电荷量均为2*10的负6次方C,相聚0.2m,则它们之间的作用力是多
科学计算器里算出来的结果10的负6次方怎么显示成0.000006?
概率论,怎么我用此公式算出来方差为负(协方差是负的)
1字节是2的多少次方?即多少字节?1M字节是2的多少次方?
负二的十次方加上负二的十一次方等于负二的的十次方是怎么算出来的呀 (简便算法)