剰余演算子

%。整数除算の余り(剰余=remainder)を計算する。

負数での剰余

数学の剰余と異なり、剰余が負数になりうる。 C++ では、整数除算の商は 0 方向への切り捨てで求められる。 そのため、剰余の符号は負になりうる。

-3 % 2 == -1

したがって、奇数判定などでは x % 2 == 1 のような書き方は危険である。 x % 2 != 0 のように、0 と比較するほうが安全である。