sql server tinyint 范围 0-255 为什么是1个字节
数据类型 | 范围 | 范围表达式 | 存储 |
---|---|---|---|
bigint | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 | -2^63 到 2^63-1 | 8 字节 |
int | -2,147,483,648 到 2,147,483,647 | -2^31 到 2^31-1 | 4 字节 |
smallint | -32,768 到 32,767 | -2^15 到 2^15-1 | 2 个字节 |
tinyint | 0 到 255 | 2^0-1 到 2^8-1 | 1 个字节 |
因为1个byte是8个bit,用二进制表示就是8个1或者0来表示, 使用8个0或者8个1 比如:
0000 0000 或者 1111 1111 ,或者混合排序例如 0000 1111 等总共可以组合成 2的8次方个数,就是2^8=256
所以tinyint最大是256,存储空间占用8bit就是1bytes
参考:
int、bigint、smallint 和 tinyint (Transact-SQL) - SQL Server | Microsoft Learn