C言語のモジュロ演算のルールを教えて下さい
C言語における剰余演算(%)は次の規則に従います:
- 割られる数と割る数が両方とも負の数、あるいはどちらか一方だけが負の数のとき、商の符号は割られる数の符号と同じになる。
引き算マイナス 5 パーセントを 2 で割ると、結果はマイナス 1 です。
- 被除数と除数または被除数と商のいずれかが正ならば、商の符号は被除数と同じになる
5パーセントの2は1です。
- 除数が0の場合は未定義
- 除数が 0 の場合、結果は未定義になります。
- 被除数と除数の絶対値が等しいと、結果は0になる。
- 割った数の絶対値が、割られる数の絶対値を超えることはない。
5 % 3 の結果は 2、-5 % 3 の結果は -2 となります。
C言語では剰余は整数演算であることに注意し、浮動小数点数の剰余は不正となる。