go06 整数

go06 整数

Go 语言里的整数类型

Go 提供了 10 种整数类型:

  • 不可以存小数部分

  • 范围有限

  • 通常根据数值范围来选取整数类型

5 种整数类型是有符号的

  • 能表示正数、0、负数

5 种整数类型是无符号的

  • 能表示正数、0

例 1:

  • 最常用的整数类型是 int:
    在这里插入图片描述
  • 无符号整数类型是 uint:
    在这里插入图片描述
    例 2:使用类型推断

在这里插入图片描述

8 种整数类型

整数类型,包括有符号和无符号的,实际上一共是 8 种类型:

  • 他们的取值范围各不相同。

  • 与架构无关
    在这里插入图片描述

int 和 uint

而 int 和 uint 是针对目标设备优化的类型:

  • 在树莓派 2、比较老的移动设备上,int 和 uint 都是 32 位的。

  • 在比较新的计算机上,int 和 uint 都是 64 位的。

虽然在某些设备上 int 可以看作是 int32,在某些设备上 int 可以看作是 int64,但它们其实是 3 种不同的类型。

int 并不是其它类型的别名,uint 同理。

打印数据类型

在 Printf 里使用 %T 就可以打印出数据的类型。
在这里插入图片描述

uint8

uint8 可以用来表示 8 位的颜色(红绿蓝:0-255)。
在这里插入图片描述
为什么不使用 int ?

  • uint8 的取值范围正好合适,而 int 则多出来几十亿不合理的数。

  • 如果很多颜色数据连续存储,例如未被压缩的图片,那么使用uint8 可以节省很多内存。

十六进制表示法

Go 语言里,在数前面加上 0x 前缀,就可以用十六进制的形式来表示数值。
在这里插入图片描述

打印十六进制

打印十六进制的数,使用 %x 格式化动词:
在这里插入图片描述
在这里插入图片描述
也可以指定最小宽度和填充:
在这里插入图片描述
在这里插入图片描述

整数环绕

所有的整数类型都有一个取值范围,超出这个范围,就会发生“环绕”。
在这里插入图片描述
在这里插入图片描述

打印每个 bit

使用 %b 格式化动词。
在这里插入图片描述
在这里插入图片描述

整数类型的最大、最小值

math 包里,为与架构无关的整数类型,定义了最大、最小值常量:
在这里插入图片描述
而 int 和 uint 没有定义最大值最小值,因为它们可能是 32 或 64 位的。

【上一讲】go05 实数
【下一讲】go07 很大的数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值