打印

单片机大数运算

[复制链接]
2808|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

粉丝