找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11344|回复: 2
打印 上一主题 下一主题
收起左侧

keil里如何设置八字节double

[复制链接]
跳转到指定楼层
楼主
keil选用51单片机的芯片,编译时会把八字节的double降格为四字节的float,
各位可有好的解决办法?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:3721 发表于 2015-1-5 22:50 | 只看该作者
在KEIL中的double就是float,他们并没有任何差异,KEIL是面向单片机的,单片机并不是DSP或者FPGA,它对浮点数处理能力是相当有限的,事实上浮点数运算能力是CPU的一项重要性能指标。所以受限于硬件,编译器并不打算实现double。

评分

参与人数 1威望 +8 黑币 +8 收起 理由
exv + 8 + 8 赞一个!

查看全部评分

回复

使用道具 举报

板凳
ID:67796 发表于 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单片机也这么做的不知又得消耗多少内存。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表