在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 476|回复: 4

[求助] 关于在写pcell脚本时fix函数 计算很奇怪

[复制链接]
发表于 2024-5-15 16:52:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

                               
登录/注册后可看大图
这个原因是什么呢?
发表于 2024-5-16 14:46:16 | 显示全部楼层
0.06-0.01-0.05得到的结果是-5.20417e-18,并不是想象中的0.0
SKILL Language User Guide.pdf的第128页Floating_Point Issues中写了这个问题,原文如下:
Because IEEE floating-point numbers use what are essentially binary (base 2) fractions to represent real numbers, some functions that operate on floating-point numbers yield unexpected (and incorrect) results. There are some floating-point numbers that the computer cannot represent exactly as binary fractions. In these cases, the computer uses a binary (base 2) floating-point number to approximate your decimal (base 10) floating-point number. These approximations can lead to incorrect results for some functions that operate on floating-point numbers.

翻译后的意思如下:
因为IEEE浮点数本质上使用二进制(以2为基数)分数来表示实数,所以一些对浮点数进行操作的函数会产生意想不到的(和不正确的)结果。有些浮点数计算机不能精确地表示为二进制分数。在这些情况下,计算机使用二进制(以2为基数)浮点数来近似您的十进制(以10为基数)浮点数。对于某些操作浮点数的函数,这些近似可能导致不正确的结果。

翻译有可能不准确,但意思应该能看懂的吧。碰到浮点数的计算可得小心
发表于 2024-5-20 11:42:38 | 显示全部楼层
使用fix2
发表于 2024-6-16 08:37:13 | 显示全部楼层
第一行由于浮点运算,实际会比0小
发表于 2024-7-1 17:03:13 | 显示全部楼层
老问题了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 15:35 , Processed in 0.018266 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表