为什么Micropython'const'不接受float值?

时间:2020-01-28 10:34:03

标签: python constants micropython

大多数Micropython端口包含一个'micropython'模块,该模块具有称为'const()'的特定功能。我以为它在C中的行为很像'#define',但是,它只接受整数。有人知道为什么是这样吗?您可以在C中声​​明浮点常量,因此为什么在micropython中不可用?

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

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

干杯:)

1 个答案:

答案 0 :(得分:1)

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

相关问题