プログラミングの用語一覧へ
このページの目次

剰余演算子とは?

最終更新:2026/08/18

3秒でわかる

割り算の余りを求める演算子。偶数判定や n 個ごとの繰り返し、時刻の巡回計算など、値をぐるりと一周させたいときに必ず出てきます。

もう少し詳しく

どういうものか

剰余演算子は、割り算をしたときの余りを返す演算子です。多くの言語で記号は % を使い、13 % 5 は 3 になります。13 を 5 で割ると商が 2 で余りが 3 だからです。

割られる数を割る数で何回引けるか引き続けて、引ききれずに残った分が結果になる、と考えると挙動を追いやすくなります。

なぜ必要か

「割り切れるかどうか」を判定する道具が他に無いためです。偶数か奇数かは n % 2 が 0 かどうかで決まりますし、うるう年の判定、3 個ごとに改行する処理リストの端まで行ったら先頭へ戻す循環、ハッシュ値を配列の長さに収める処理まで、余りひとつで書けます。時計が 12 を超えると 1 に戻るのも 12 で割った余りの世界です。

具体例

print(13 % 5) # 3 print(10 % 2) # 0 割り切れる for i in range(1, 16): if i % 15 == 0: print("FizzBuzz") elif i % 3 == 0: print("Fizz") else: print(i) # リストを 3 個ずつ折り返して表示する items = ["a", "b", "c", "d", "e"] for i, v in enumerate(items): end = "\n" if (i + 1) % 3 == 0 else " " print(v, end=end)

つまずきやすいところ

負の数の扱いが言語ごとに違います。Python は -7 % 3 が 2 を返しますが、C や Java、JavaScript は -1 を返します。Python は結果の符号を割る数に合わせ、C 系は割られる数に合わせるためです。負の値が入りうる計算で言語をまたいで移植すると、ここだけ答えが変わって不具合になります。

もうひとつは 0 での割り算です。n % 0 はゼロ除算エラーになるので、割る数が変数のときは 0 でないことを先に確かめる必要があります。JavaScript の % は小数にも使えて 5.5 % 2 が 1.5 になりますが、浮動小数点の誤差がそのまま乗るので金額計算には向きません。

似た用語との違い

演算Python での例結果
通常の割り算7 / 23.5
切り捨て除算7 // 23
剰余7 % 21


商と余りを同時に欲しい場合、Python には divmod(7, 2) があり (3, 1) を返します。

覚え方

/ が「何回分けられたか」、% が「分けたあとに手元に残ったか」です。割った数より小さい値しか出てこない、と覚えておくと結果の見当を付けられます。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地剰余演算子プログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

Python入門:基礎文法編

74レッスン
コース

JavaScript入門:コードを動かす

23レッスン
コース

C言語入門 基礎文法編

66レッスン
Pythonコースの全編を見る