1. 零值
整数型的零值是: 0
2. 类型
1)概述:
典型的整型为 int 类型。
在 go 中,提供了多个 int 型,基于一个整数型,所占用的存储空间进行划分的。
2)存储空间:
存储空间采用字节 Byte 为单位,表示的时候使用 8 个位 bit 来说明。
bit 位,计算机中最基本的运算单位。
Byte 字节,计算机中最基本的存储单位。(KB MB GB TB )
一个字节对应八个位,即1Byte = 8bits。
3)无符号整型:
整型还可以被设置为无符号整型,仅仅用于存储 0 和正整数,不存储负数,优势可存储的最大值比有符号整数更大。在类型上使用 u 表示,unsigned 表示。
4)int各类型说明:
- int,架构整型,基于处理器的bits数。
- int8,8位整型,1个字节。-128-127
- int16
- int32,32位整型,4个字节。
- int64
- uint
- uint8,8位整型,1个字节,无符号的。存储范围: 0-255
- uint16
- uint32
- uint64
常规使用时,建议使用 int (unit)即可,最大限度的保证程序兼容性。
3. 进制字面量
1)概述
整数,支持多种进制表示。
计算机中常用的进制: 2,8, 16, 10 进制。分别使用前缀标识:
- 2 进制: 0b, 0B
- 8 进制: 0o, 0O
- 16 进制: 0x, 0X
- 10 进制:不需要前缀
代码示例
i1 = 42
i2 = 0B10101 // 2进制:21
i3 = 0O42 // 8进制:34
i4 = 0X42 // 16进制: 66
fmt.Println(i1, i2, i3, i4)
2)进制的转换
①任意进制向十进制转换
方法:
X*进制^N 累加求和。
X 就是每个数位的数值。
N 从低位到高位,由 0 开始逐一递增的值。
示例:
0O42 = 4*8^1 + 2*8^0 = 32 + 2 = 34
0X42 = 4*16^1 + 2*16^0 = 64 + 2 = 66
②十进制转为其他进制
方法:
先利用十进制转为二进制,再做相对转换。
10进制转2进制,除 2 取余,反复执行,直到商为 0, 将余数从下至上连接即可!
示例:
21
%2
10 ... 1
%2
5 ... 0
%2
2 ... 1
%2
1 ... 0
%2
0 ... 1
故:21 转成2进制为:0B10101
4. 支持运算符
算数运算符
+
-
*
-
/
除,得到的商的整数部分。 -
%
取余数,得到商的余数部分。
注意:取余时 若存在负数参与运算,则余数的正负与被除数保持一致。 演示:
i1 := 10%3 // 1
i2 := 10%-3 // 1
i3 := -10%3 // -1
i4 := -10%-3 // -1