Go基础-005-02 基础数据类型 整数型

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

你可能感兴趣的:(Go基础-005-02 基础数据类型 整数型)