为什么会有小数精度问题

为什么所有的语言都有小数精度问题,比如说:double result = 1.0 - 0.9,其结果是0.09999999999999998。这是因为在二进制的世界里也有无线循环小数,在十进制中都无法表示1/3。那凭什么要求二进制能够表示1/10呢?如果你一开始接受的都是二进制教育,那么这个时候你会疑惑“为什么十进制会有精度问题?” 在二进制中,1/21/43/41/8等等都是有限的,这些数没有精度问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 在java中float赋值给double,会产生精度问题。 输出为2.0999999046325684。 小...
    我叫小小强阅读 19,270评论 2 23
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,141评论 6 13
  • 1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或...
    哈哈哎呦喂阅读 673评论 0 0
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,195评论 0 13
  • 今天听了楼一蕾的语音晨享,对自己的触动还是挺大的!持久战,这一场没有硝烟却很残酷的战争。因为要先改变自己,让自己成...
    旦子阅读 93评论 0 2