乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 97|回复: 7

大家帮忙解释一下

[复制链接]

33

主题

52

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
184
发表于 2004-6-10 21:17:00 | 显示全部楼层 |阅读模式
我编程遇到了这个问题,很是困惑,大家帮忙解决一下:程序中算得ss为4.36332        (fix (/ 340.339 ss))         得 77
但实际上340.339除以4.36332得78.0.再fix 一下应得78,不知为什么得77.
我试了一下        (fix (/ 340.339 4.36332))        返回78啊,这是为什么???
回复

使用道具 举报

wzh

32

主题

104

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
232
发表于 2004-6-10 22:01:00 | 显示全部楼层
怎么会得77呢?你用下面程序算一下
(defun c:try()
         (setq ss 4.36332)
         (setq AA (fix (/ 340.339 ss)))
)
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-6-10 22:11:00 | 显示全部楼层
看不懂楼主返回的到底是77还是78?
回复

使用道具 举报

33

主题

52

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
184
发表于 2004-6-10 22:15:00 | 显示全部楼层
你试一下这个:
(setq range 1570.8
                                         time 360
                                         ss (/ range time)
                                         )
(setq AA (fix (/ 340.339 ss)))
回复

使用道具 举报

33

主题

52

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
184
发表于 2004-6-10 22:17:00 | 显示全部楼层
按道理应该返回78的,但我为什么返回77
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-6-10 22:25:00 | 显示全部楼层
(rtos (/ 1570.8 360) 2 14)
你看看这个,其实是显示问题SS可能并不是你的那个数,你看到的只是显示的数字,实际的数字精度比这个高很多的
回复

使用道具 举报

33

主题

52

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
184
发表于 2004-6-10 22:27:00 | 显示全部楼层
斑竹高明,确实是精度问题
回复

使用道具 举报

wzh

32

主题

104

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
232
发表于 2004-6-10 23:57:00 | 显示全部楼层
4楼的数据在取整前其结果是77.9998,当然取整后要返回77。而楼主将SS的小数部分人为截去(4.36333)后其结果为78.000009167,取整后肯定是78。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-18 11:20 , Processed in 0.996806 second(s), 69 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表