找回密码
 加入我们
搜索
      
查看: 4113|回复: 11

[软件] 如果定义域不大的情况下,用定点数代替浮点数,现在是否还有速度意义?

[复制链接]
发表于 2023-7-13 16:19 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-7-13 16:22 | 显示全部楼层
可以啊,甚至古早的时候有小数整数分开存放的SQL建表设计。
 楼主| 发表于 2023-7-13 16:23 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-7-13 16:28 | 显示全部楼层
这个没有什么意义吧,既然定死了后三十二位,那就没有必要定义新数据类型,直接用int64, 然后左移右移三十二位即可,宏和online都可以.
 楼主| 发表于 2023-7-13 16:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-7-13 16:32 | 显示全部楼层
定点数优化不是什么新鲜玩意, 可以看 pixman 之类 2d 图形库的代码
但最大的可能是跑过 profiler 之后, 你发现自己优化后的逻辑比之前还慢
 楼主| 发表于 2023-7-13 16:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-7-13 18:39 来自手机 | 显示全部楼层
你说dfp?不过这还是浮点数 还是你要定点数 和int直接兼容
发表于 2023-7-13 18:41 来自手机 | 显示全部楼层
slymitec 发表于 2023-7-13 08:33
主要是CPU的浮点计算功能确实能使得优化后,比这样还快么?

power处理器上有dfp相关电路会快很多 但是power10之后是电阻丝用不上
发表于 2023-7-13 18:43 | 显示全部楼层
有而且意义很大, 现在也在ML推理,图像处理,信号处理这些领域应用非常普遍
发表于 2023-7-13 18:48 | 显示全部楼层
slymitec 发表于 2023-7-13 16:33
主要是CPU的浮点计算功能确实能使得优化后,比这样还快么?

不能, 但很多情况下不会投入那么多精力去做定点优化, 不深入优化只是改成定点计算的话反而变慢了是再正常不过的事情
发表于 2023-7-13 19:17 | 显示全部楼层
我编单片机时用过类似这种方法。

程序中精确到一微秒,显示时是按毫秒显示,精确到小数点后一位。

因为单片机浮点能力很弱,所以最好别让它处理小数。
直接用long int存储,以微秒为单位。
所有的运算都是整数运算。

在显示程序中,取数位时,注意一下就好。
单片机驱动数码管显示,小数点位置是用程序固定。
实际执行的是整数运算,把需要的那几位取出来显示。
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-2-5 02:51 , Processed in 0.009451 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

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