• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

为什么在MCU中要尽可能少用浮点数运算

TinyByab 2020-04-25 浏览量:1518
为什么在MCU中要尽可能少用浮点数运算
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:6
  • 主要的原因是很多MCU中没有浮点数运算单元,做浮点数运算非常占用资源和时间,一般都是用整数运算

  • 软件计算浮点会很耗mcu资源,所以尽可能化成整数计算,如果有硬件浮点计算不太会影响速度是可以使用的

  • 大多数MCU并没有专门的浮点数运算硬件支持单元,这使得浮点数运算效率极为低下,和整数运算比是几十、几百倍的速度差异,还极为耗费其他资源(包括内存等)。

    即使有浮点数运算单元支持,有时与整数运算比也是几倍速度差异

    另外大多数MCU处理中,浮点数需求其实并不是那么强烈,很多可以采用工程计算手段处理为整数运算,

    由此要尽可能少用浮点运算。

  • 如果不支持FPU的单片机,浮点运算是很占用CPU时间的,程序运行效率是很低的。

  • 单片机中很少有浮点运算的单元,直接做浮点运算,会费很时间,从而降低运行效率

  • 部分MCU没有FPU的,要靠它的CPU核去完成浮点运算,这种运算需要消耗比较长的时间

相关问题

问题达人换一批

为什么在MCU中要尽可能少用浮点数运算