* 88423: 请朋友们帮忙:在MCU内如何实现操作数大于2^32(4294967296)的计算?
yzzhangliyang
yzzhangliyang发表的帖子
请朋友们帮忙:在MCU内如何实现操作数大于2^32(4294967296)的计算?
本人做设备时用AD9850产生连续变化的频率信号(200Hz~1700000Hz),精度是1Hz,需要适时计算AD9850的32位频率控制数据,计算式:2^32*freq/Cref
其中:2^32=4294967296
freq是要输出的频率值(200Hz~1700000Hz)
Cref是参考时钟,选用16M(16000000Hz)
请朋友们出出主意,谢谢!
发表时间:2006年1月24日10:17:26
回复该帖
本主题共有
6 帖,分页:
>>>>>该主题的所有内容[6]条
*树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:
88444.[
详细]如下
摘要:可以用2^32/Cref*freq,不过2^32本身已经超出了unsigned long(0~4294967295)的范围。 可以用2^31/(Cref/2)*freq,如果嫌精度不过,就在这些变量前加个double。......(152字)
- [stan1998][832次] 2006年1月25日
88468.[
详细]要用汇编语言
摘要:在汇编语言里面是没有32bit的限制的 你的应用是较特殊的,不可以先算除法,那会损失精度。......(87字)
- [戈卫东][1029次] 2006年1月27日
88469.[
详细]另一办法,是选特殊的参考频率
摘要:当2^32/Cref正好可整除时,就可以存储一个常数,这个除法就不需要计算了。 比如选用16777216的Cref,2^32/Cref=256,你需要的数就是 freq*256, freq<&......(157字)
- [戈卫东][970次] 2006年1月27日