小编典典

为什么负整数要比正整数多?

sql

任何int数据类型的上限(不包括tinyint)总是比下限的绝对值小1。

例如,an的上限为int2,147,483,647,ABS(下限)= 2,147,483,648。

是否有理由总是总是比负整数多一个负整数?

编辑:更改,因为问题与数据库不直接相关


阅读 259

收藏
2021-03-23

共1个答案

小编典典

您提供的类型是有符号整数。让我们来看一个字节(8位)的示例。使用1字节,您可以2^8使用组合来存储256个可能的数字。

现在,您要具有相同数量的正数和负数(每个组应有128个)。

关键是0没有+0-0。只有一个0

因此,您最终获得了范围-128..-1..0..1..127

相同的逻辑适用于16/32/64-bit

编辑:

为什么范围是-128 to 127

这取决于您 represent signedinteger

  • 签名幅度表示
  • 一个人的补充
  • 补码
2021-03-23