MySQL中bigint、int、mediumint、smallint、tinyint有符号和无符号的取值范围

database

 

想要了解取值范围首先需要知道的是 bit 和 Byte 的概念

bit :位

二进制数系统中,位通常简写为 "b",也称为比特,每个二进制数字 0 或 1 就是一个位(bit)。位是表示信息的最小单位,其中 8 bit 就称为一个字节(Byte)。

 

Byte :字节

字节(Byte)是用于计量存储容量的一种计量单位,是计算机中表示存储空间最基本的容量单位,字节通常简写为 "B"。

 

bit 与 Byte

数据存储是以“字节”(Byte)为单位,数据传输大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个 0 或 1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位。

 

取值范围

tinyint、smallint、mediumint、int、bigint 分别占用 1、2、3、4、8字节,使用 8、16、24、32、64 位存储空间。它们的有符号可以存储的值的范围从 -2N-1 到 2N-1-1,其中 N 是存储空间的位数。

无符号是设置了 unsigned 属性,表示不允许负值,这大致可以使正数的上限提高一倍。

类型

字节

有符号范围

无符号范围

tinyint

1

8

-128 ~ 127

0 ~ 255

smallint

2

16

-215 ~ 215-1

0 ~ 2*215-1

mediumint

3

24

-223 ~ 223-1

0 ~ 2*223-1

int

4

32

-231 ~ 231-1

0 ~ 2*231-1

bigint

8

64

-263 ~ 263-1

0 ~ 2*263-1

 

以上是 MySQL中bigint、int、mediumint、smallint、tinyint有符号和无符号的取值范围 的全部内容, 来源链接: utcz.com/z/535954.html

回到顶部