首页 > 解决方案 > 为什么 Micropython 'const' 不接受浮点值?

问题描述

大多数 Micropython 端口都包含一个 ' micropython' 模块,该模块具有一个名为 ' ' 的特定功能const()。我被引导相信它的行为很像#defineC 中的 ' ',但是,它只接受整数。有人知道为什么吗?您可以在 C 中声明浮点常量,那么为什么在 micropython 中不可用呢?

我想有效地存储用于在单位之间转换的值,但其中许多是浮点值......(我想过将它们乘以 10^x,然后在运行时除以它,但这可能需要只要将浮点数存储在变量中并让代码使用查找表)。

任何想法为什么我们只能用 声明整数micropython.const()

干杯:)

标签: pythonconstantsmicropython

解决方案


这是设计使然,目的micropython.const()是在 MCU 上节省 RAM,因此根据文档:
const() 的参数可能是在编译时计算为整数的任何值。 http://docs.micropython.org/en/latest/reference/constrained.html?highlight=const()#execution-phase


推荐阅读