任何int数据类型的上限(不包括tinyint)总是比下限的绝对值小1。
int
tinyint
例如,an的上限为int2,147,483,647,ABS(下限)= 2,147,483,648。
是否有理由总是总是比负整数多一个负整数?
编辑:更改,因为问题与数据库不直接相关
您提供的类型是有符号整数。让我们来看一个字节(8位)的示例。使用1字节,您可以2^8使用组合来存储256个可能的数字。
2^8
现在,您要具有相同数量的正数和负数(每个组应有128个)。
关键是0没有+0和-0。只有一个0。
0
+0
-0
因此,您最终获得了范围-128..-1..0..1..127。
-128..-1..0..1..127
相同的逻辑适用于16/32/64-bit。
16/32/64-bit
编辑:
为什么范围是-128 to 127?
-128 to 127
这取决于您 represent signedinteger :
represent signedinteger