楼主: panxinfeng
2910 6

[问答] 请教 0.9 == (1.1-0.2) FALSE的原因 [推广有奖]

  • 0关注
  • 1粉丝

已卖:128份资源

博士生

12%

还不是VIP/贵宾

-

威望
0
论坛币
42 个
通用积分
8.1398
学术水平
6 点
热心指数
11 点
信用等级
7 点
经验
2436 点
帖子
181
精华
0
在线时间
156 小时
注册时间
2008-8-14
最后登录
2024-2-13

楼主
panxinfeng 发表于 2014-4-11 10:54:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
> 0.9 == (1.1-0.2)
[1] FALSE

为什么,请教,谢谢!

二维码

扫码加我 拉你入群

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

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

关键词:LSE

本帖被以下文库推荐

沙发
jmpamao 发表于 2014-4-11 11:17:55
0.9, 1.0 , 0.2这些都是 十进制

计算机 运算用的是 二进制,  用二进制表示浮点数(有小数),如0.1 会表示为0.0001100110011001100110011001100110011001100110011001…无限循环, 而如果64位,就是要舍弃一些53位后面的所有数字。
也带来了 运算中的精度问题

之前也觉得奇怪,哈哈

藤椅
yywan0913 在职认证  发表于 2014-4-11 11:28:18
感觉R的内部算法还是有点问题,比如这种涉及到零点几的减法的时候,比如1-0.3-0.5-0.2;还有大数字间计算,比如3^34各位明明应该是9的。
是什么给了你自信

板凳
yywan0913 在职认证  发表于 2014-4-11 11:29:08
其他语言都还好。。。
已有 1 人评分热心指数 收起 理由
jmpamao + 1 python 也如此, 二进制的运算都会有这样的.

总评分: 热心指数 + 1   查看全部评分

是什么给了你自信

报纸
panxinfeng 发表于 2014-4-11 13:10:12
明白了,谢谢专家

地板
zjjyusong 发表于 2014-4-11 13:23:01
这个应该是精度的问题,刚刚试了下

7
yywan0913 在职认证  发表于 2014-4-11 14:00:47
yywan0913 发表于 2014-4-11 11:29
其他语言都还好。。。
应该是的,用java和python试了 一样。不过python里面有个decimal包可以,专门做财务用的。
  我的意思是指那个3^34的结果跟其他语言不一样。

decimal.PNG (62.4 KB)

decimal.PNG

已有 1 人评分热心指数 收起 理由
jmpamao + 1 3^34 R 是没有其他的好, 呵呵

总评分: 热心指数 + 1   查看全部评分

是什么给了你自信

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 00:03