对不起,冗长的标题。我的代码针对的是没有浮点单元的微控制器(msp430),但这应该适用于任何类似的 MCU。
如果我将一个大的运行时变量与通常被认为是浮点十进制数 (1.8) 相乘,这仍然被 MCU 或编译器视为浮点数学吗?
我的简化代码是:
int multip = 0xf; // Can be from 0-15, not available at compile time
int holder = multip * 625; // 0 - 9375
holder = holder * 1.8; // 0 - 16875`
由于结果总是一个正整数,实整数,就 MCU 或编译器而言,它仍然是浮点数学,还是定点数?
(我意识到我可以乘以 18,但这需要声明一个 32 位长而不是 16 位 int,然后对将要放入的数组进行除法和向下转换,试图在这里节省内存)