全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1245 4
2012-12-19
> 0.9 == (1.1 - 0.2)
[1] FALSE
> identical(0.9, 1.1 - 0.2)
[1] FALSE
这是为什么?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-12-19 22:49:01
本人也是R新手,不过研究了下发现一个情况
> 0.9-(1.1-0.2)
[1] -1.110223e-16
这大概可以解释你的问题了吧,虽然我也不知道为什么会这样
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-12-19 22:59:38
由数据存储精度造成的
以精度16位为例
1.1的二进制数约等于1.0001100110011001
0.2的二进制数约等于0.0011001100110011
1.1-0.2的二进制运算结果等于0.1110011001100110
换算成十进制约等于0.899993896484375
                   不等于0.900000000000000
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-1-27 13:17:18
wkid1412 发表于 2012-12-19 22:49
本人也是R新手,不过研究了下发现一个情况
> 0.9-(1.1-0.2)
[1] -1.110223e-16
谢谢~~~大家一起进步
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-1-27 13:17:44
steventung 发表于 2012-12-19 22:59
由数据存储精度造成的
以精度16位为例
1.1的二进制数约等于1.0001100110011001
牛人!向你学习
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群