标题: keil里如何设置八字节double [打印本页]

作者: exv    时间: 2015-1-4 18:42
标题: keil里如何设置八字节double
keil选用51单片机的芯片,编译时会把八字节的double降格为四字节的float,
各位可有好的解决办法?
作者: heicc    时间: 2015-1-5 22:50
在KEIL中的double就是float,他们并没有任何差异,KEIL是面向单片机的,单片机并不是DSP或者FPGA,它对浮点数处理能力是相当有限的,事实上浮点数运算能力是CPU的一项重要性能指标。所以受限于硬件,编译器并不打算实现double。
作者: exv    时间: 2015-1-5 23:03
本帖最后由 exv 于 2015-1-21 14:14 编辑
heicc 发表于 2015-1-5 22:50
在KEIL中的double就是float,他们并没有任何差异,KEIL是面向单片机的,单片机并不是DSP或者FPGA,它对浮点 ...

谢谢您的解答:

把以前逆波兰式写的(cpp)计算器移到51单片机里,发现double能用的位少了好多,故而有此疑问。

不过您这句话言错了“KEIL中的double就是float"
原子老师用KEIL给STM32写的计算器,里面的double就是八字节的。

double多少位取决于芯片的系统配置而非编译器,我只是想知道能否通过修改51芯片配置文件实现八位double。

如此看来确有不便。

曾见过前人 高精度超长位数计算 的算法,如果51单片机也这么做的不知又得消耗多少内存。





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1