设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 流川枫
打印 上一主题 下一主题

[已经过期] RGSS3又一個坑娘的BUG

[复制链接]
头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

11
发表于 2014-4-6 12:58:34 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

12
发表于 2014-4-6 18:15:46 | 只看该作者
本帖最后由 taroxd 于 2014-4-6 18:19 编辑

这哪里是bug,不信楼主 0.4+0.2 试试看。看看c++会不会悲剧,ruby会不会悲剧
要浮点数精确点楼主可以试试二进制=。= 不然就给我老老实实用整数

给楼主两篇不错的文章(都是常识!)
http://justjavac.iteye.com/blog/1725977
http://justjavac.iteye.com/blog/1724438
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
1641 小时
注册时间
2011-9-26
帖子
313
13
发表于 2014-4-6 22:29:45 | 只看该作者
本帖最后由 Shy07 于 2014-4-6 22:33 编辑

写程序最可怕的就是想当然,千年虫是一例,现在楼主也是同样的错误。



——摘自《松本行弘的程序世界》

Matz 这本书挺不错的,新手和老鸟都可以一读。最近我在读《代码的未来》,感觉也不错。楼主发现问题是值得肯定的,但是没经过验证导致被打脸,可惜。
愿善用者善用之
https://github.com/Shy07/SINRGE2
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
480
在线时间
177 小时
注册时间
2006-10-3
帖子
618
14
 楼主| 发表于 2014-4-16 16:06:34 | 只看该作者
晴兰 你真是有点自己打自己的嘴巴,自己试试用WIN7或XP自带的计算器做1除以3然后再乘以3的算术吧

你的编程技术真的不行

asd.gif (39.03 KB, 下载次数: 14)

asd.gif
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
480
在线时间
177 小时
注册时间
2006-10-3
帖子
618
15
 楼主| 发表于 2014-4-16 18:21:15 | 只看该作者
本帖最后由 流川枫 于 2014-4-16 18:29 编辑

晴兰:“就像十进制的一个0.333333333....你的计算器表示长度有限,于是变成了0.33333333,加三次便不是1了而是0.99999999。”
掌嘴,自己看图我在C++中计算得出1这就是真实。

QQ截图20140416181915.png (6.79 KB, 下载次数: 15)

QQ截图20140416181915.png

QQ截图20140416182921.png (10.8 KB, 下载次数: 13)

QQ截图20140416182921.png
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
480
在线时间
177 小时
注册时间
2006-10-3
帖子
618
16
 楼主| 发表于 2014-4-16 19:05:44 | 只看该作者
如图在C++中只要将double四舍五入到15位后,就会得到精确的0.1

QQ截图20140416185631.png (8.81 KB, 下载次数: 11)

QQ截图20140416185631.png
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
480
在线时间
177 小时
注册时间
2006-10-3
帖子
618
17
 楼主| 发表于 2014-4-16 19:24:03 | 只看该作者
a = 1.0
for i in 1..63
  a -= 0.1
end
p a

以上的代码在RGSS1和RGSS2上都得到5.3,只有RGSS3不正确。因为RGSS1和2在每次计算浮点数运算后都将浮点数四舍五入到15位小数,所以可以保证加减的精度。但是RGSS3却不再四舍五入到15位于是就出现了脑残数值。

QQ截图20140416192209.png (26.23 KB, 下载次数: 14)

QQ截图20140416192209.png
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
550
在线时间
1286 小时
注册时间
2011-6-14
帖子
4086
18
发表于 2014-4-17 18:28:40 | 只看该作者
连帖= =
因为Windows的计算器就是这样,给你舍入了。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

19
发表于 2014-4-17 21:55:57 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

20
发表于 2014-4-19 20:39:44 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-10 17:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表