明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 838|回复: 8

[提问] lisp中计算数值大了,计算错误,请大神帮忙

[复制链接]
发表于 2022-1-30 10:36:17 | 显示全部楼层 |阅读模式
如下语句计算圆管惯性矩,当数值a,d较大时计算结果不对,比如a=650,d=614
准确计算结果应该是1785812130.48,而此句得出计算结果99182417.42
(setq gxj (/(* 1.0 pi (-(expt a 4)(expt d 4) )) 64)))
请大神帮忙看看问题出在哪里,万分感谢{:7_492:}
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2022-1-30 12:03:00 | 显示全部楼层
把数据发上来 大伙儿帮你看
 楼主| 发表于 2022-1-30 12:05:04 | 显示全部楼层
a=650,d=614
发表于 2022-1-30 16:17:27 | 显示全部楼层
(setq a 650.0 d 614.0)
发表于 2022-1-30 16:18:08 | 显示全部楼层
(rtos(/(* 1.0 pi (-(expt a 4)(expt d 4) ))64)2 4)
发表于 2022-1-30 16:18:26 | 显示全部楼层
数值超过整数范围了(expt a 4.0)(expt d 4.0)  也可以解决
发表于 2022-1-30 21:23:45 | 显示全部楼层
fas是32位的,最大整数不能超过2的31次方。数太大就不要用整数,改成实数吧。
发表于 2022-1-30 21:59:02 | 显示全部楼层
(setq a 650. d 614.)
(rtos (setq gxj (/(* 1.0 pi (-(expt a 4)(expt d 4) )) 64))2 2)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-14 14:44 , Processed in 0.456979 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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