16位带符号整数为什么是-32768~32767?不止这么多吧?为什么是2的15次方减一呢?全都是一的情况下,不止2的15次方呀?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 17:02:21
16位带符号整数为什么是-32768~32767?不止这么多吧?为什么是2的15次方减一呢?全都是一的情况下,不止2的15次方呀?
16位带符号整数为什么是-32768~32767?
不止这么多吧?为什么是2的15次方减一呢?全都是一的情况下,不止2的15次方呀?
16位带符号整数为什么是-32768~32767?不止这么多吧?为什么是2的15次方减一呢?全都是一的情况下,不止2的15次方呀?
首先,我们来研究一下,最大整数
01...1后面15个1,其值=2^14+2^13+...+2^0
根据等比数例求和公式
{an},sn=a1+a2+...+an
sn=a1(1-q^n)/(1-q)
显然 此刻 a1=1,q=2,n=15
所以2^15-1
但是总共能表达 2^16-1个数.所以负数就是.
兄弟.你说的那是计算机2进制码.每位上只能取0,1.
换算成10进制的就是你题中说的那么多啦.
至于怎么换算:
10进制的17位数的最小值是什么?
是1*10^16吧.
二进制也一样啊.
2进制的17位数的最小值就是1*2^16
那1111111111111111不就等于2^16-1嘛.
但是现在要带符号,符号是要占掉一位的.
全部展开
兄弟.你说的那是计算机2进制码.每位上只能取0,1.
换算成10进制的就是你题中说的那么多啦.
至于怎么换算:
10进制的17位数的最小值是什么?
是1*10^16吧.
二进制也一样啊.
2进制的17位数的最小值就是1*2^16
那1111111111111111不就等于2^16-1嘛.
但是现在要带符号,符号是要占掉一位的.
就剩15个位置了.
所以就变2^15-1了.
收起
16位,刚好是两个字节
一个字节有八个字长
若带符号,则最多可以表示:2^15-1个数
从-32768到32767
若要表示这个范围外的5位数或更大的数,则需要增加字节~~
若带符号,则最多可以表示:2^15-1个数
↑错!是2^16个数。除非你把0x0000排除。
根据等比数例求和公式 ……
↑没必要这么复杂。
_天上人间_说的基本正确。
n位的p进制型数对应p^n个不同的信息。符号型整形数的第一个位是符号位,但不影响数值的总和。因为已经保证整型数中没有任何一个范围内的数重复的int来表示。所以16位二制数表示2^16个不同的...
全部展开
若带符号,则最多可以表示:2^15-1个数
↑错!是2^16个数。除非你把0x0000排除。
根据等比数例求和公式 ……
↑没必要这么复杂。
_天上人间_说的基本正确。
n位的p进制型数对应p^n个不同的信息。符号型整形数的第一个位是符号位,但不影响数值的总和。因为已经保证整型数中没有任何一个范围内的数重复的int来表示。所以16位二制数表示2^16个不同的数。由符号型整形数的编码约定(非负数取原码,负数取补码(按位求反后的结果加一),多出来的+0(符号和数值位都是1,这里是0xffff)表示2的数值位次幂的相反数,这里是-2^(16-1)=-32768),0x0000为0……0x7fff为32767,0x8000为-32768,0x8001为-32766……0xffff为-1。
收起