整数类型

2022-01-24 GoLang 大约 1 分钟

简单的说,就是用于存放整数值的,比如10,-45,6712等等。

# 有符号整数类型

类型 有无符号 占用存储空间 表数范围
Int8 1字节 -2^7 ~2^7-1(-128~127)
int16 2字节 -2^15 ~2^15-1(-32768~32767)
int32 4字节 -2^31 ~2^31-1(-2147483648~2147483647)
int64 8字节 -2^63 ~2^63-1

为什么int8取值范围是-128 - 127?

int8占1个字节,1字节(byte)占8位(bit),其中最高位代表符号位 1-负号;0-正号

那么最大数值的二进制为: 0 1 1 1 1 1 1 1 换算成10进制为 从低位到高位开始计算 0 1 1 1 1 1 1 1 02^7 + 12^6 + 12^5 + 12^4 + 12^3 + 12^2 + 12^1 + 12^0 0 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 127

最小数值的二进制应与最大数值相反 1 0 0 0 0 0 0 0 换算成10进制为 从低位到高位开始计算 1 0 0 0 0 0 0 0 12^7 + 02^6 + 02^5 + 02^4 + 02^3 + 02^2 + 02^1 + 02^0 128 + 0 + 0 + 0 + 0 + 0 + 0 + 0 = 128

相关信息

由于Int8的最大值是127,所以如果你超过了最大值,那么程序会报错

// 代码错误
var num int8 = 300
1
2

# 无符号整数类型

类型 有无符号 占用存储空间 表数范围
uInt8 1字节 0~255
uint16 2字节 0~2^16-1
uint32 4字节 0~2^31-1
uint64 8字节 0~2^63-1

# 参考博文

上次编辑于: 2023年7月4日 09:36