为什么int变量的范围是-2的15次方到2的15次方-1,是怎么计算出来的!

2025-01-04 00:09:03
推荐回答(5个)
回答1:

因为你说的int变量占用2个字节,也就是16(位)bits.如果这16位只用来表示正数的话,就能最大表示2的16次方-1,如果发表示正负数的说,就需要把其中某一位拿来表示正负号,所以表示数值的位数就只有15位了,也就是2的15次方.

回答2:

int变量共16位
负数:10000000 00000000 - 11111111 11111111
正数:00000000 00000000 - 01111111 11111111
即用第1位表示符号,后面的表示数字

回答3:

16位的Int的范围:0~2^16-1,,这是没有符号的,如果要符号(+,-),只需减去2^15即可,这就是它的计算方法。

回答4:

与硬件有关系。
早期的程序语言是运行在硬件水平相当低下的电脑上的,当时的32位机,分配给int变量的位数只有8位,要把第一位留给符号位(+还是-),其二位记录下2(占用2位),剩下的留给指数,按这种方法算出的整形变量的值就是你说的那么大。

回答5:

int变量占4字节,16位。
不管正负的话是2的16次方,但要表示正负需要占用首位:0正1负。
但此时0有两种表示方法,即正0和负0:0000000000000000=1000000000000000=0
-2的15次方,负数表示了0了,正数就不需要表示了所以是2的15次方-1