c语言 float 定点小数,浮点运算,浮点数与定点数(一)

我们评测CPU性能的时候,经常会说道一个概念:浮点运算,我经常在想,浮点运算到底是一个什么样的东西,用得着把它当成评测CPU性能的关键点吗?搞清楚这个问题,首先要说到浮点数和定点数,先看一个例子,用javascript执行console.log(0.1+0.2), 查看其输出,发现0.1+0.2≠0.3!,为什么会这样?这简直太反常识了!

计算机中数字的表示

我们知道,计算机中通过内存存储数据,一个字节有8个位,可以最大表示256个数据,如果用来表示数字,则一个字节可以用来表示0-255,我们可以通过用多个字节来表示更大的数字,如32位计算机中,我们可以直接在CPU中表示和计算最大32位整数,如果大于32位,还可以通过分步的方式进行。但即使是这样,我们还是遇到了一些问题,如果引入非整数,我们发现很多数字根本就无法全部表示,整数之间都有无穷多个数,还有一些无理数,圆周率π,√2等,也是无法进行精确表示的,所以我们在计算机中我们采用近似的方法对其进行表示。

32f0ce4cd0c30115dea992535ffeb3a6.png

计算机中所有的信息都是用二进制表示的,例如字符“A”,用ASCII码表示其二进制为01000001;整数10,用二进制表示是00001010。那么如果是小数,例如0.2,用二

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值