python - 为什么 Micropython 'const' 不接受浮点值?
问题描述
大多数 Micropython 端口都包含一个 ' micropython
' 模块,该模块具有一个名为 ' ' 的特定功能const()
。我被引导相信它的行为很像#define
C 中的 ' ',但是,它只接受整数。有人知道为什么吗?您可以在 C 中声明浮点常量,那么为什么在 micropython 中不可用呢?
我想有效地存储用于在单位之间转换的值,但其中许多是浮点值......(我想过将它们乘以 10^x,然后在运行时除以它,但这可能需要只要将浮点数存储在变量中并让代码使用查找表)。
任何想法为什么我们只能用 声明整数micropython.const()
?
干杯:)
解决方案
这是设计使然,目的micropython.const()
是在 MCU 上节省 RAM,因此根据文档:
const() 的参数可能是在编译时计算为整数的任何值。
http://docs.micropython.org/en/latest/reference/constrained.html?highlight=const()#execution-phase
推荐阅读
- r - Force `read_tsv` to decompress file
- javascript - 续集 findOrCreate 包括关联 - “无法读取未定义的属性‘字段’”
- reactjs - setState 和子组件的关系
- swift - 使用 Swift 4 构建时“让 json = JSON(command.arguments)”失败
- c# - Passing a predicate as a parameter c#
- vue.js - Vue leayk custom event being registered by multiple components
- angular - Is AOT (ahead of time) the default compilation in Angular 7
- javascript - javascript 使用 Amazon Mechanical Turk 更改选项卡
- sql - How to extract a part of a JSON String from an SQL string Base64
- java - 如何在 Spring Boot 和 Swagger 应用程序中使用 CDATA