编程基础知识之浮点型

浮点型用于表示包含小数点的数据,比如1.234就是一个浮点型数据。Go语言中的浮点类型采用IEEE-754标准的表达方式。
1. 浮点数表示
Go语言定义了两个类型float32和float64,其中float32等价于C语言的float类型,float64等价于C语言的double类型。
在Go语言里,定义一个浮点数变量的代码如下:
var fvalue1 float32
fvalue1 = 12
fvalue2 := 12.0 // 如果不加小数点,fvalue2会被推导为整型而不是浮点型
对于以上例子中类型被自动推导的fvalue2,需要注意的是其类型将被自动设为float64,而不管赋给它的数字是否是用32位长度表示的。因此,对于以上的例子,下面的赋值将导致编译错误:

fvalue1 = fvalue2
而必须使用这样的强制类型转换:
fvalue1 = float32(fvalue2)
2. 浮点数比较
因为浮点数不是一种精确的表达方式,所以像整型那样直接用==来判断两个浮点数是否相等是不可行的,这可能会导致不稳定的结果。
下面是一种推荐的替代方案:
import "math"
// p为用户自定义的比较精度,比如0.00001
func IsEqual(f1, f2, p float64) bool {   return math.Fdim(f1, f2) < p  }

转载于:https://www.cnblogs.com/huhuhuhu/p/5032676.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前言  第1章 引论   1.1 计算有什么用?    1.1.1 基础科学    1.1.2 应用科学    1.1.3 工程项目    1.1.4 日常生活   1.2 超高精度计算有什么用?   1.3 计算编程概述   1.4 一些缩写的解释 第1部分 原理与实现:通用仿真库  第2章 代码概述   2.1 基本内容   2.2 使用c++?    2.2.1 c还是c++?    2.2.2 c++与通用编程   2.3 c++代码的设计    2.3.1 使用模板    2.3.2 操作符重载 .   2.3.3 选择接口函    2.3.4 参传递    2.3.5 返回值处理    2.3.6 计算异常与诊断信息    2.3.7 内存布局   2.4 计算代码的测试    2.4.1 随机输入测试    2.4.2 特殊值测试    2.4.3 恒等式测试   2.5 代码的使用   2.6 伪码  第3章 通用整运算   3.1 基本概念    3.1.1 记法与制    3.1.2 整编码    3.1.3 编码位换算   3.2 通用整编码    3.2.1 据定义    3.2.2 jype的选取   3.3 通用整四则运算    3.3.1 加法    3.3.2 减法    3.3.3 乘法    3.3.4 除法   3.4 优化    3.4.1 加法    3.4.2 减法    3.4.3 乘法    3.4.4 除法   3.5 符号处理    3.5.1 原码,还是补码?    3.5.2 有符号通用整的表示    3.5.3 符号操作   3.6 输入输出函    3.6.1 输入函    3.6.2 输出函   3.7 代码使用  第4章 通用定点运算   4.1 基本概念    4.1.1 记法    4.1.2 误差    4.1.3 舍入    4.1.4 有效字   4.2 通用定点编码    4.2.1 据定义    4.2.2 符号处理   4.3 四则运算    4.3.1 加法和减法    4.3.2 乘法    4.3.3 除法   4.4 辅助操作   4.5 代码使用:计算派  第5章 浮点与ieee浮点标准  第6章 通用浮点运算  第7章 通用基本函库 第2部分 应用:x87fpu编程与vc6浮点库  第8章 x87fpu编程  第9章 编写自己的浮点库  第10章 如何反汇编代码  第11章 vc6浮点函库  第12章 异常处理机制  第13章 浮点编程的常见技巧 附录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值