2013-04-12 7 views

答えて

19

右辺の数字はlong longではないので、intではないので、式で演算が行われ、オーバーフローが発生します。

そのうちの1つにLLを追加すると、そのすべてがプロモートされます。

+0

ダーン、そうです。私は常に浮動小数点数を追加すると考えていますが、決して長くはありません:(感謝します) –

+0

@DervinThunk - 定数を忘れるのは簡単です – teppic

+0

もっと正確には、定数はint型です'char'から' long long'まで、そしておそらくmore)をカバーするより一般的な用語です。そして、 'LL'を右端の' 1024'に適用すると、 '5 * 1024 * 1024 * 1024LL'、 '5 * 1024 * 1024'は' int 'として評価されますが、合法的には16ビットまで狭くすることができます。 - または '5LL *(1LL << 30)。 –

関連する問題