Javascript你不知道的那些事!(数字计算篇-变态篇)无意中聊天发现的一些奇怪的事情
2024-10-19 00:22:29
javascript:alert(0.1 + 0.2)
如果看到这样一道题你会怎么思考了!大家肯定第一反应0.3,但是考虑到我已经这样问了!那么幼稚的答案我会专门写篇文章吗
然后人就开始折磨自己了会不会是 0.10.2呢
然后结果还是很拉风的
0.30000000000000004
再来0.1+0.7
0.7999999999999999
这是由于十进制到二进制的转换导致的精度问题!因为计算机执行的是二进制算术,当一个十进制数不能准确的转化着二进制数时,这种精度误差就无法避免。如果对这简单的原因描述还是迷惑的话,那就接着看文章后面的具体描述吧!
然后 有趣的再来个有趣的事情
parseInt(0.0000008)
这个结果是多少呢,你说是0,我说是8,你又说那是8
parseInt(0.08)
那么这个你又说是8,但我又说是0。。。我估计你有凌乱了
我纵里寻她千百度。。。。然后找到的结果
很多语言在浮点和整形之间的运算`都有精度问题
只不过可能js的略风骚一些
只不过可能js的略风骚一些
认识javascript的浮点运算
学过js的同学都知道,js中的数字都是用浮点数表示的,并规定使用IEEE 754 标准的双精度浮点数表示。
IEEE 754 标准的浮点数简介(呵呵,这可是大学里学习的组成原因知识噢)
IEEE 754 规定了两种基本浮点格式:单精度和双精度。
IEEE单精度格式具有24 位有效数字精度(包含符号号),并总共占用32 位。
IEEE双精度格式具有53 位有效数字精度(包含符号号),并总共占用64 位。
说明: 基本浮点格式是固定格式,相对应的十进制有效数字分别为7位和17位。基本浮点格式对应的C/C++类型为float和double。
最新文章
- ES6之块级作用域
- Jquery datatables 使用方法
- Struts2 JQuery UI常用插件
- 开始学习c语言
- 让Mac也能拥有apt-get类似的功能——Brew
- Java FX中TreeView节点选中和双击事件监听
- eclipse代码左虚线对齐设置
- 原生JQ实现图片滑动轮播
- 最近两场比赛 CF 285 &; TC 646
- C++中的dynamic_cast和static_cast
- jQuery知识盲点
- [JSOI2007]合金
- Linux(Redhat)安装Redis
- 将JSON格式数据转换为javascript对象 JSON.parse()
- ADOConnection断线重连
- [Ynoi2018]未来日记
- java集合树状结构及源码
- 淘宝cnpm
- 上传第三方jar包至maven私服,以geotools为例
- RF运行脚本报错:WebDriverException: Message: unknown error: call function result missing