go-07-数据类型-浮点型

一、数据类型介绍

为什么所有的开发语音中都需要类型?
文本 “Go” 和数字 28487 在 x86 架构的计算机上转换为二进制后,都是用 0110111101000111 表示,使用类型可以为这些相同的二进制赋予不同的
意义

在 Go 中数据类型有:
有基本的整型、浮点型、字符串、布尔
还有数组、切片、map、结构体、函数、通道(channel)等。

二、基本数据类型- 浮点型

Go 语言提供了两种浮点类型:

  • float64 默认的
  • float32

float 后面的32 和 64 是什么?

32 和 64 表示的是位数。

那么什么是位数?就是比特位中的位数。

1 比特位

电脑只认识 0 和 1 的二进制数字,每一个二进制数字就是一位,称为比特位 bit(binary digit)(简写:b,是计算机数据存储最小的单位。
比如 1 是 一个 位,0 也是一个位,101 是三个位。

2 字节

字节 Byte(简写:B),是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八个比特位,也就是 → 1Byte = 8bit = 1B = 8b
也就是,电脑中 8 个位称为一个 字节,1024 字节是 1 K

3 float32 和 float64

float32 就是使用 32个比特位表示浮点数,float64 是使用 64 个比特位表示浮点数。

float32 又称为单精度浮点数,它占用 4 字节的内存,也就是 32 位。
float64 占用 8 字节的内存,也就是 64 位。

4 声明

默认情况下,声明的浮点数类型都是 float64,如下的定义,效果是一样的。

days := 365.2425
var days = 365.2425
var days float64 = 365.2425

一个整数可以使用明确指定类型的方式,声明为浮点型

var f float64 = 64

5 math 包

math 包中有很多已经定义好的浮点数,包中所有函数处理的都是float64 类型的浮点数,比如 math.Pi,math.MaxFloat32等。

Go 中浮点型的数据对应的最大值:

类型最大值(约等于)常量表示法
float323.4028234663852886e+38math.MaxFloat32
float641.7976931348623157e+308math.MaxFloat64

6 关于精度

float64 精度高于 float32

var pi64 = math.Pi
var pi32 float32 = math.Pi

fmt.Println(pi64)  // 3.141592653589793
fmt.Println(pi64)  // 3.1415927

7 输出浮点类型

fmt.Printf("%f", math.Pi)
fmt.Printf("%.2f", math.Pi)
ffmt.Printf("%4.2f", math.Pi)

"%宽度.精度f"

  • 宽度指定了打印整个浮点数的所需要的字符数(包含 整数部分、小数部分和小数点)
  • 精度指定了小数点后面保留的字符数

如果指定的宽度比实际打印出来的要大,则默认使用空格填充。
如希望使 0 填充可以使用: "%06.2f"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shark_西瓜甜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值