有符号的基本类型的取值范围是-32768~32767即-2的15次方~2的15次方减1.我不明白为什么要减去1.
来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/09/25 02:25:39
有符号的基本类型的取值范围是-32768~32767即-2的15次方~2的15次方减1.我不明白为什么要减去1.
从最简单的问题说起吧.
最简单的一位(1bit)二进制,表示无符号数的话,只有0和1.没办法表示有符号数(只能表示两个数,你不能不表示0吧).
如果是两位(两bit)二进制,表示无符号数的话,就可以有0/1/2/3.
表示无符号数的话,就要拿第一位来做符号标示,比如0代表正数,1代表负数,这样就可以表示四个有符号数.就像下面这样:
00 ---- 0
01 ---- +1
11 ---- -1
你也许会问了,10哪去了?好,00已经代表0了,那10怎么办,你不能叫它负0吧?估计有符号数的创始人为了不浪费,将10定义为-2,于是:
00 ---- 0
01 ---- +1
10 ---- -2
11 ---- -1
明白了吗?2位(2bit)二进制能表示的有符号数是+1/0/-1/-2,不管位数怎么增加,10是-1这点是不会改变了(否则可能引起全世界的程序出错/电脑死机/硬件罢工...等等一系列问题)所以正数始终比负数少1个.
于是乎到了两字节(16bit)二进制,能表示的有符号数就是-32768~32767了,明白了吗?
最简单的一位(1bit)二进制,表示无符号数的话,只有0和1.没办法表示有符号数(只能表示两个数,你不能不表示0吧).
如果是两位(两bit)二进制,表示无符号数的话,就可以有0/1/2/3.
表示无符号数的话,就要拿第一位来做符号标示,比如0代表正数,1代表负数,这样就可以表示四个有符号数.就像下面这样:
00 ---- 0
01 ---- +1
11 ---- -1
你也许会问了,10哪去了?好,00已经代表0了,那10怎么办,你不能叫它负0吧?估计有符号数的创始人为了不浪费,将10定义为-2,于是:
00 ---- 0
01 ---- +1
10 ---- -2
11 ---- -1
明白了吗?2位(2bit)二进制能表示的有符号数是+1/0/-1/-2,不管位数怎么增加,10是-1这点是不会改变了(否则可能引起全世界的程序出错/电脑死机/硬件罢工...等等一系列问题)所以正数始终比负数少1个.
于是乎到了两字节(16bit)二进制,能表示的有符号数就是-32768~32767了,明白了吗?
有符号的基本类型的取值范围是-32768~32767即-2的15次方~2的15次方减1.我不明白为什么要减去1.
为什么有符号数(4个字节的)的取值范围是 负的2的n次方到 正的2的n次方减1
方程9的-绝对值X-2次方减去4*3的-绝对值X-2次方+A=0有解,求A的取值范围
a的2次方减去ab等于15,b的2次方减去ab等于10,a的2次方减去b的2次方的值为?
求2的2012次方减去2的2011次方减去2的2010次方减去...减去2的2次方减去2的1次方的值.
要使(X-2)的-1次方有意义,则x的取值范围是?
2的100次方减去2的99次方减去2的98次方减去…...减去2的8次方减去2的7次方减去2的6次方的值
2的x次方+2的y次方=1,则x+y的取值范围是?
若已知(x-1)0的次方-(x-2)-2的次方 有意义,则x的取值范围是
若(x-3)的0次方(3x-6)的-2次方有意义,那么x的取值范围是
2的20次方减去1减去2减去2的2次方减去2的3次方减...减20的19次方等于多少
2的2006次方减去2的2005次方减去2的2004次方减去.2的3次方减去2的平方减去2减去1