【发布时间】:2010-07-01 04:31:22
【问题描述】:
MySQL 中的有符号和无符号有什么区别?以及有符号和无符号是什么意思?
【问题讨论】:
标签: mysql
MySQL 中的有符号和无符号有什么区别?以及有符号和无符号是什么意思?
【问题讨论】:
标签: mysql
无符号数没有减号。无符号数只能是正数或零(例如 123、0)。有符号数也可以是负数(例如 -42)。
这个answer 彻底解释了差异。
【讨论】:
您可以在给定空间中存储的范围。例如,引用the docs:
TINYINT[(M)] [UNSIGNED] [ZEROFILL]
一个非常小的整数。有符号范围 是 -128 到 127。无符号范围是 0 到 255。
当然对于其他较大的整数类型也是如此。
【讨论】:
可能值的范围,如table 所示。
它不是 MySQL 特有的,它是整数在计算机中表示的结果。 Sign 为自己占用一位,因此最大数量(大致)减半。你也可以把它想象成将整个事情向下移动一半的范围。 (另外,因为有偶数个可用数字并且没有两个零,所以负数比正数多一个)。如果您想了解更多信息,请阅读two's complement。
【讨论】: