首页 > 编程知识 正文

bigint的取值范围,smallint的取值范围

时间:2023-05-05 05:55:19 阅读:182399 作者:3596

int取值范围:-2^31~2^31-1

计算机中32位int类型变量的范围。 其中int类型是有符号整数。

正数在计算机中为原代码,最高位为符号位:

1的源代码是00000000000000000000001

2147483647的源代码是0111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

所以最大的正整数是2147483647

负数在计算机中表示为补数,最高有效位为符号位。

-1:

源代码为10000000000000000000000000001,

反码为1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

补数为11111111111111111111111111111111111111111111111111

-2147483647 :

源代码为111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

代码为100000000000000000000000000000,

补数是10000000000000000000000000001

所以最小的负数是-2147483647吗? 不,不是。

在二进制中,0有两种表示方法。

的源代码为000000000000000000000000,

-0的源代码为10000000000000000000,

因为只需要一个0,所以把-0拿来作为最小的数-2147483648。

-2147483648的补数显示为10000000000000000,32位没有源代码。

请注意,此补数不是真正的补数。 真正的补数是1,000,0000,0000,0000,0000,0000,0000,0000,溢出。

因此,有符号32位int型整数是-2147483648~2147483647

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。