- 积分
- 278
- 金豆
- 粒
- 魅力
- 点
- 威望
- 点
- 大洋
- 枚
该用户从未签到
升级
  44.5%
 送鲜花( 0)  砸鸡蛋( 0)
|
提示您:未得到智伍应用正式版的授权,部门功能受到影响!
尊重的用户,您好!!
非常感谢您能安装智伍应用旗下的产物,为了产物的可连续发展和升级,云收罗已经开始按天收费,发起购买200天,免费赠予400天,一共600天,均匀天天仅需1.67元。
向用户收费是为了给用户更可靠的保障和服务,所收取的费用重要用于产物的正常运作、不停研发和改进,盼望各位用户可以或许明白和支持。
购买正式版授权请打开下面的网址自助购买:
www.zhiwu55.com/authorization/buy_end_time.php?hzw_appid=B4592D53D254F99549C9FBF696104B22
购买之后,主动开通正式版授权,新收罗的内容不会再出现未购买授权的提示信息,同时智伍应用旗下全部含云收罗功能的产物,都无需再次购买云收罗的正式版授权,即云收罗的授权可以在智伍应用的各个产物那边通用!
假如您已经购买了正式版,照旧会出现未购买授权的提示,大概有别的题目,请接洽智伍应用官方在线客服QQ/微信:2085244671
选自Medium 作者:Parul Malhotra
呆板之心编译 到场:高璇、张倩
打开你的 Python,输入「0.1+0.2=」,效果是多少?0.30000000000000004 对不对?为什么效果不是 0.3?本文作者给出了具体的表明。
从小我们就知道 0.1 + 0.2=0.3。但是,在光怪陆离的盘算天下中,运算方式却大相径庭。
我近来开始用 JavaScript 举行编码,在阅读数据范例时,我留意到 0.1 + 0.2 不即是 0.3 的希奇举动。我向 Stack Overflow 寻求资助,在上面找到了一些有效的帖子。如下图所示:
Stack Overflow 界面图像。
颠末大量的研究和数学运算后,我得出结论,这不是错误。这是数学运算中的浮点运算。让我们进一步相识内涵机制。
题目形貌:为什么 0.1 + 0.2 = 0.30000000000000004?
假如你用 Java 或 C 语言编过程,那你肯定知道用于存储值的差别数据范例。我们在前面的讨论中将思量两种数据范例:整数型和浮点型。
整数型存储整数,而浮点型存储小数。
在这之前,我们先来相识一个小概念:为了实现盘算,数字是怎样表现的?极小数和极大数通常用科学计数法表现,即:
同样,假如一个用科学计数【*****智伍应用提示您:未购买正式版授权,功能受到影响!!请根据最上面的引导提示,自助购买正式版授权,主动开通!!在线客服微信:ccccyyyy4444,官方网站:zhiwu55.com*****】,则该数字是尺度化写法。比方,0.0005606 用科学计数法的尺度化写法为:
Significant 是指不包罗零的有用数字,base 表现所利用的进制——此处为十进制(10)。Exponent(指数)表现小数点必要向左或向右移动的步数。
如今,有两种表现浮点数的方法:单精度和双精度。在举行浮点运算时,单精度利用 32 位,而双精度利用 64 位。
与很多其他编程语言差别,JavaScript 并未界说差别范例的数字数据范例,而是始终遵照国际 IEEE 754 尺度,将数字存储为双精度浮点数。
这种格式以 64 位存储数字,此中数字(分数)存储在位 0 到 51 中,指数存储在位 52 到 62 中,符号存储在位 63 中。
IEEE754 双精度尺度。
我们按 IEEE754 尺度用 64 位表现 0.1。第一步是将十进制的 0.1 转换为二进制的 0.1。起首将 0.1 乘以 2,然后将小数点前的数字分离出来,得到其相应的二进制数。
重复此操纵至 64 位。然后把它们按升序分列,获取尾数,再根据双精度尺度,我们将把其四舍五入到 52 位。
尾数
用科学计数法表现二进制 0.1 并只保存前 52 位:
尾数部门处置惩罚好后。如今我们用下面的方式处置惩罚指数:
这里,11 代表我们要利用的 64 位表现的指数位数,-4 代表科学计数中的指数。
以是终极数字 0.1 的表现情势是:
同理,0.2 表现为:
将两个数相加,得到:
转换为浮点数,它酿成:
这就是 0.1 + 0.2 = 0.30000000000000004 的缘故原由。
原文链接:https://medium.com/better-programming/why-is-0-1-0-2-not-equal-to-0-3-in-most-programming-languages-99432310d476
声明:转载此文是出于通报更多信息之目标。如有泉源标注错误或侵占了您的正当权益,请作者持权属证实与本网接洽,我们将实时更正、删除,谢谢。 |
|