Go 变量 浮点类型

本文探讨了Golang中的浮点类型,包括单精度和双精度的区别,浮点数的存储原理,精度损失示例,以及如何选择合适的数据类型(float32 vs float64)。重点介绍了浮点型常量的表示方式和使用细节,以确保高效和精确的数值运算。
摘要由CSDN通过智能技术生成

基本介绍


浮点类型也就是我们所说的小数类型,用来存放小数的。Golang的浮点类型可以表示一个小数,比如 123.4,7.8,0.12 等等

案例演示∶

	var price float32 = 89.12
	fmt.Println(price)

小数类型分类


单精度类似于其他编程语言里面的float,双精度类似于其他编程语言里面的double。这里是根据位数来区分是双精度还是单精度。

浮点数都是有符号位的。

说明一下∶

1)关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位

3.56

11110000111.111111111111111111000

2)尾数部分可能丢失,造成精度损失。-123.0000901

	var number1 float32 = -123.0000901
	var number2 float64 = -123.0000901
	fmt.Println(number1,number2)

可以看到浮点数可能会造成精度损失,其次64位的精度要比32位的精度要大。如果要表示精度更加准确的数,那么应该使用64位。 

3)浮点型的存储分为三部分∶符号位+指数位+尾数位 在存储过程中,精度会有丢失

 

浮点型使用细节


1) Golang浮点类型有固定的范围和字段长度,不受具体Os的影响。(没有float这种类型,要么是32位float32,要么是64位float64)

2) Golang 的浮点型默认声明为float64类型。

number := 1.2
	fmt.Printf("%T",number)

float64

3) 浮点型常量有两种表示形式

十进制数形式∶如∶5.12   .512(必须有小数点)

科学计数法形式∶如∶5.1234e2=5.12*10的2次方  5.12E-2=5.12/10的2次方

4)通常情况下,应该使用 float64,因为它比float32更精确。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值