【问题标题】:The difference between signed and unsigned in MySQL?MySQL中有符号和无符号的区别?
【发布时间】:2010-07-01 04:31:22
【问题描述】:

MySQL 中的有符号和无符号有什么区别?以及有符号和无符号是什么意思?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    无符号数没有减号。无符号数只能是正数或零(例如 123、0)。有符号数也可以是负数(例如 -42)。

    这个answer 彻底解释了差异。

    【讨论】:

      【解决方案2】:

      您可以在给定空间中存储的范围。例如,引用the docs:

       TINYINT[(M)] [UNSIGNED] [ZEROFILL]
      

      一个非常小的整数。有符号范围 是 -128 到 127。无符号范围是 0 到 255。

      当然对于其他较大的整数类型也是如此。

      【讨论】:

        【解决方案3】:

        可能值的范围,如table 所示。

        它不是 MySQL 特有的,它是整数在计算机中表示的结果。 Sign 为自己占用一位,因此最大数量(大致)减半。你也可以把它想象成将整个事情向下移动一半的范围。 (另外,因为有偶数个可用数字并且没有两个零,所以负数比正数多一个)。如果您想了解更多信息,请阅读two's complement

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-07-25
          • 2011-11-02
          • 2017-06-07
          • 1970-01-01
          • 2011-08-10
          • 2010-10-11
          • 1970-01-01
          相关资源
          最近更新 更多