C & C++ FAQ
|
C | C++ | long型でおさまるはずの数値の計算がうまくいかないことがあるのはどうしてですか。 |
を考えましょう。700と100を掛けた値である70000は、long型の表現範囲におさまっています。しかし、700 * 100は、int型どうしの乗算ですから、その演算結果もint型であることに注意してください。x = 700 * 100;
のようになっていなければなりません。x = 700L * 100;
標準C | §6.2 | Conversions |
標準C99 | §6.3 | Conversions |
標準C++ | §4 | Standard conversions |