首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >浮点数及其对8位微控制器内存的影响

浮点数及其对8位微控制器内存的影响
EN

Stack Overflow用户
提问于 2020-03-31 19:31:07
回答 3查看 1.3K关注 0票数 1

我目前正在从事一个项目,其中包括使用linux中的SDCC编译器在stm-8微控制器上进行裸金属编程。芯片中的内存很低,所以我试图让事情变得更精简。我用了8位和16位变量,一切都进行得很顺利。但最近我遇到了一个问题,我真的需要一个浮动变量。所以我写了一个函数,它接收一个16位的值,转换成一个浮点数,做我需要的数学运算,然后返回一个8位的数字。这使得我在MCU上的最后编译代码从1198字节上升到3462字节。现在,我知道使用浮点数是内存密集型的,可能需要调用许多函数来处理浮点数的使用,但是将程序的大小增加那么大似乎很疯狂。我想要一些帮助,了解这是为什么和发生了什么。

规格: MCU stm8151f2编译器: SDCC具有--opt_code_size选项

代码语言:javascript
运行
复制
int roundNo(uint16_t bit_input) 
{ 
    float num = (((float)bit_input) - ADC_MIN)/124.0;
    return num < 0 ? num - 0.5 : num + 0.5; 
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60958440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档