导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→如下

* 88444: 请朋友们帮忙:在MCU内如何实现操作数大于2^32(4294967296)的计算?

   stan1998 
stan1998发表的帖子 

 如下
可以用2^32/Cref*freq,不过2^32本身已经超出了unsigned long(0~4294967295)的范围。
可以用2^31/(Cref/2)*freq,如果嫌精度不过,就在这些变量前加个double。

发表时间:2006年1月25日14:50:45

  
回复该帖

本主题共有 6 帖,分页:>>>>>该主题的所有内容[6]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  88468.[详细]要用汇编语言
摘要:在汇编语言里面是没有32bit的限制的  你的应用是较特殊的,不可以先算除法,那会损失精度。......(87字)
- [戈卫东][1010次] 2006年1月27日

  88469.[详细]另一办法,是选特殊的参考频率
摘要:当2^32/Cref正好可整除时,就可以存储一个常数,这个除法就不需要计算了。  比如选用16777216的Cref,2^32/Cref=256,你需要的数就是 freq*256, freq<&......(157字)
- [戈卫东][959次] 2006年1月27日

  88476.[详细]还有一办法,更通用些
摘要:因为Cref是常数,16000000, 2^32/Cref=268, 余数是6967296,你需要的累加常数 =freq*268+freq*6967296/Cref......(101字)
- [戈卫东][1062次] 2006年1月27日

[上一篇帖子]:看看这样能不能解决!修改uclinux-dist/vendors/xxx(如:motorola或sa
[下一篇帖子]:义隆单片机,可直接替代PIC16CXX系列,管脚兼容,软件可转换台湾义隆电子单片机(ELAN)代理商