長文タイトルで申し訳ありません。私のコードは、浮動小数点ユニットのないマイクロコントローラー (msp430) をターゲットにしていますが、これは同様の MCU に適用されるはずです。
大きなランタイム変数を、通常は浮動小数点 10 進数 (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を掛けるだけでよいことに気づきましたが、それには16ビットのintの代わりに32ビットのlongを宣言し、それが配置される配列の分割とダウンキャストが必要になり、ここでメモリを節約しようとします)