单片机大数运算

[复制链接]
3781|3
 楼主| Mick_liang 发表于 2010-1-8 12:35 | 显示全部楼层 |阅读模式
如:f = 30 * 2^48 / 400;
我想得到 f 每一位对应的值,如何实现?
我直接用算数方法计算的,得到的高24位值与计算器计算的值相同,但是低24位值不对,应该是精度不够导致的。
试着把 f 分高24位低24位两段进行计算,但是和直接运算的结果一样。

请各位指教一下!
HWM 发表于 2010-1-8 13:01 | 显示全部楼层
如果是已知常数表达式,自己化简优化计算。若只考虑有限的有效位数,使用浮点数算。如果想分豪不差,用long long。
 楼主| Mick_liang 发表于 2010-1-8 18:26 | 显示全部楼层
单片机没有long long吧...
lirunze 发表于 2010-1-8 18:50 | 显示全部楼层
呵呵,自己编一个longlong的阿
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

87

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部