C语言里的int为什么2的31次方还要减1(c语言中int型求整数法则)

C语言里的int为什么2的31次方还要减1(c语言中int型求整数法则)

首页维修大全综合更新时间:2024-04-06 16:35:30

C语言里的int为什么2的31次方还要减1

int数据类型属于整型,一个int数据在内存中占有4个字节(32位),即其存储的是整数,1、2、3、4........其中也包括负数。表示数据的正负需要一位,首位是0表示正数,首位是1表示负数,那么就只剩下31位去真正表示数据了。

我们举个例子:

假设我们的int类型只有2位的二进制位,那么它能表示-1,0,1;别忘了,这可是两位二进制,理论上应该至少表示4个数,所以,为了能让内存充分利用起来,应当有-2,-1,0,1或者-1,0,1,2。但是,计算机科学家们显然是选择了-2,-1,0,1这种做法。

-2的二进制是11;

-1的二进制是10;

0的二进制是00;

1的二进制是01.

下面我们再来说说计算机中真正的int数据类型,按照上面的例子来类推,32位的int数据所能表示的数值当是负的2的31次方~2的31次方减1.

大家还看了
也许喜欢
更多栏目

© 2021 3dmxku.com,All Rights Reserved.