Renesas Synergy™

FAQ 104089 : 32ビットx32ビット乗算(longxlong)の結果が正しくありません。

Q: 質問

32ビットx32ビット乗算(longxlong)の結果が正しくありません。

 


A: 回答

演算対象の値をlong型として扱うには、"L"を用いて明示的にlong型の指定を行ってください。

「例」

a = 0x000010ffL * 0x0000fff0L;
a = 0x000010ffL * 0x00001210L;

また、"long"でキャストする方法もあります。

a = (long)0x000010ff * 0x0000fff0;
a = (long)0x000010ff * 0x00001210;

適用製品

SuperHファミリ用C/C++コンパイラパッケージ
H8SX,H8S,H8ファミリ用C/C++コンパイラパッケージ
他にご質問がございましたら、リクエストを送信してください