フリップフロップは、二つの安定した状態をもち、1ビットの値を保持できる回路です。順序回路と組合せ回路の違い、SR・D・JK・T型の動作表、全加算器の真理値表と半加算器からの組み立て方を、自作の検算つきで整理。IPAの公開問題(フリップフロップ・SRAM)の解き方も載せています。
目次
結論:フリップフロップは、二つの安定した状態をもち、1ビットの値を保持できる回路です。出力が「いまの入力」だけでなく「それまでの状態」にも左右されるので、順序回路の基本構成要素とされます。SRAMの記憶セルに使われ、基本情報技術者試験の公開問題では、平成22年度 春期 午前 問25と平成31年度 春期 午前 問21が、この関係を問いました。IPAのシラバス Ver.9.2では、ハードウェアの電気・電子回路の用語例に「フリップフロップ」が挙がっています。
当サイトに収録している基本情報技術者試験の公開問題520問のうち、フリップフロップ・順序回路・加算器・ラッチの語を問題文か選択肢に含むものは5問でした。フリップフロップそのものが主題なのは、平成22年度 春期 午前 問25と平成31年度 春期 午前 問21の2問で、残る3問(平成21年度 秋期 午前 問22・平成27年度 春期 午前 問22・平成30年度 秋期 午前 問21)は、メモリの説明の選択肢にこの語が出てくる問題です。IPAの科目A・科目Bの公開PDF(サンプル問題と令和5〜8年度)の全文にも、この語を使った問題の記載がありません(2026-10-21 時点)。午前の問題冊子は画像のため、午前は当サイトの収録分に限った集計です。数は語を含む問題の数で、出題の多さを示すものではありません。
シラバスの版:基本情報技術者試験は Ver.9.2。最終確認日:2026-10-21。出典:IPA 試験要綱・シラバスについて。
フリップフロップとは:1ビットを保持する回路
通常の論理回路(ANDやOR)は、入力をやめると出力も消えます。フリップフロップは、入力を変えて「0にする」「1にする」と指示すると、そのあとは指示をやめても、その値を出力し続けます。二つの安定状態(0を出力している状態と、1を出力している状態)をもつので、1ビットの記憶として使えます。
IPAの平成22年度 春期 午前 問25は、これをそのまま問うています。「二つの安定状態をもつ回路で,SRAM の記憶セルに使用される順序回路の基本構成要素はどれか。」で、選択肢はア ANDゲート、イ 加算器、ウ キャパシタ、エ フリップフロップ。IPAの解答例の正解はエです(IPA 問題PDF・解答例PDF)。ANDゲートと加算器は、入力だけで出力が決まる回路(次の節)で、状態を保持しません。キャパシタは回路を構成する部品の一つで、問題文の「順序回路の基本構成要素」にはあたりません。
組合せ回路と順序回路:出力が何で決まるか
| 種類 | 出力の決まり方 | 例(当サイトの整理) |
|---|---|---|
| 組合せ回路 | いまの入力だけで決まる | AND・OR・NOT・半加算器・全加算器 |
| 順序回路 | いまの入力と、それまでの状態で決まる | フリップフロップ、それを組み合わせたカウンタなど |
シラバスの位置は次のとおりです。「順序回路,組合せ回路,NAND回路」は、大分類2 コンピュータシステム/中分類3 コンピュータ構成要素/1. プロセッサ/(6) プロセッサの動作原理/① 演算の仕組み(半加算器・全加算器が基本の論理回路の組合せで実現されると理解する項目)の用語例です。「フリップフロップ」は、中分類6 ハードウェア/1. ハードウェア/(1) 電気・電子回路の用語例(NAND回路,フリップフロップ,論理式,正論理,負論理,真理値表)です(IPA 基本情報技術者試験 シラバス Ver.9.2 PDFのページ 17・29)。ANDやORなどの真理値表は、論理回路の記事にまとめています。
SRフリップフロップ:セットとリセット
もっとも基本的な型が SR(セット・リセット)です。NOR回路2個を互いにつないで作る形で、入力 S(セット)と R(リセット)を使います。当サイトで、NOR回路2個のモデルを Python で計算して作った動作表です(これはシラバスの用語例にない一般的な説明で、IPAの定義ではありません)。
| S | R | 出力 Q(直前の Q が 0 のとき) | 出力 Q(直前の Q が 1 のとき) | 動き |
|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 直前の値を保持 |
| 0 | 1 | 0 | 0 | リセット(0にする) |
| 1 | 0 | 1 | 1 | セット(1にする) |
| 1 | 1 | 両方の出力が0 | 両方の出力が0 | 使わない入力 |
S と R がどちらも1のときは、Q と、Q の反転を出すはずの出力がどちらも0になり、反転の関係が崩れます。その後、S と R を同時に0に戻すと、結果が不定になるので、この入力の組は使わないのが一般的です(当サイトの説明)。
D・JK・T型:入力の使い方を変えた型
クロック(時刻をそろえる信号)に合わせて動く型が、一般によく説明されます。次の表は、クロックの1回の区切りでの、入力と次の出力 Q' の関係です(当サイトの計算で、全行をPythonで出力)。
| 型 | 入力 | 動き(Q' = クロック後の Q) |
|---|---|---|
| D | D | Q' = D。入力の値をそのまま取り込む |
| JK | J=0, K=0 | Q' = Q(保持) |
| JK | J=0, K=1 | Q' = 0 |
| JK | J=1, K=0 | Q' = 1 |
| JK | J=1, K=1 | Q' = Q の反転 |
| T | T=0 | Q' = Q(保持) |
| T | T=1 | Q' = Q の反転 |
JK型は、SR型で使えなかった「両方が1」の入力を、反転の動作に割り当てた形と見ることができます。T型で T=1 のまま、クロックごとに出力が反転すると、Q は 1、0、1、0 と変わります(Pythonで8回分を出力)。出力の変化の周期が、クロックの2倍になるので、周波数は半分になります。この性質は、カウンタ(数を数える回路)の部品として使えます。
メモリとの関係:SRAMの記憶セル
フリップフロップ1個は1ビットを保持します。8個並べれば8ビット(1バイト)です(ビットとバイトの記事)。
平成31年度 春期 午前 問21は、「メモリセルにフリップフロップ回路を利用したものはどれか。」で、選択肢はア DRAM、イ EEPROM、ウ SDRAM、エ SRAM。IPAの解答例の正解はエです(IPA 問題PDF・解答例PDF)。平成22年度 春期 午前 問25の「SRAMの記憶セルに使用される順序回路の基本構成要素」と同じ関係を、逆の向きから問うています。つまり、「SRAM ⇔ フリップフロップ」の1組を覚えておけば、2問とも解けます。
全加算器:半加算器2個とORで作る
足し算の回路は、フリップフロップと違い、組合せ回路です。半加算器(用語集)は、2つの1ビットの足し算で、和=A XOR B、桁上がり=A AND B です(論理回路の記事に真理値表があります)。全加算器は、下の桁からの桁上がり Cin も足します。
| A | B | Cin | 和(A XOR B XOR Cin) | 桁上がり Cout | A+B+Cin |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 | 1 |
| 0 | 1 | 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 | 1 | 2 |
| 1 | 0 | 0 | 1 | 0 | 1 |
| 1 | 0 | 1 | 0 | 1 | 2 |
| 1 | 1 | 0 | 0 | 1 | 2 |
| 1 | 1 | 1 | 1 | 1 | 3 |
検算:「Cout、和」を2進数の2桁として読んだ値が、A+B+Cin と一致します(8行すべてをPythonで確認)。作り方は、半加算器で A と B を足し、その和と Cin をもう1つの半加算器で足し、2つの桁上がりをORにまとめます(Coutは、2つの桁上がりのどちらかが1のとき1。全8通りで、上の表と一致します)。
全加算器を、桁の数だけ連ねると、複数ビットの足し算ができます。自作の例で、0110(6)+ 0111(7)を、下の桁から順に処理すると、1101(13)になります(Pythonで4桁分を処理して一致)。
フリップフロップで間違えやすい点
- 「記憶できる」の意味を取り違える:電源を切っても残る記憶ではありません。電気が供給されている間だけ、1ビットを保持します(当サイトの説明)
- 組合せ回路と順序回路を取り違える:加算器や論理ゲートは組合せ回路(状態を持たない)、フリップフロップは順序回路の基本構成要素
- SRAMとDRAMの取り違え:フリップフロップで構成されるのはSRAM(平成31年度 春期 午前 問21)
- JK型の「1,1」を禁止入力と思い込む:SR型の「両方1」は使わない入力、JK型の「両方1」は反転の動作です
まとめ
よくある質問
Qフリップフロップを一言で言うと何ですか?
二つの安定した状態をもち、1ビット(0か1)の値を保持できる回路です。IPAの平成22年度 春期 午前 問25は、「二つの安定状態をもつ回路で,SRAM の記憶セルに使用される順序回路の基本構成要素」を問い、正解はフリップフロップです。セットやリセットの指示をやめたあとも、次の指示があるまで、その値を出力し続けます。
Q順序回路と組合せ回路は、何が違いますか?
組合せ回路は、出力が「いまの入力」だけで決まる回路です(AND・OR・加算器など)。順序回路は、出力が「いまの入力」と「それまでの状態」で決まる回路で、フリップフロップがその基本構成要素です。上の2つの説明は当サイトの説明です。IPAのシラバス Ver.9.2 は、用語例に順序回路・組合せ回路を挙げています。
QSR・D・JK・Tの型の違いは、試験で覚える必要がありますか?
IPAのシラバス Ver.9.2 には、フリップフロップの型(SR・D・JK・T)の記載がありません(2026-10-21 時点)。シラバスの用語例は「フリップフロップ」までです。当サイトで調べた公開問題も、型の名前を問う形ではなく、フリップフロップの役割や、SRAMとの関係を問うものでした。型の動きは、仕組みの理解を深める補足として読んでください。
Q全加算器は、半加算器とどう違いますか?
半加算器は、2つの1ビットを足して「和」と「桁上がり」を出す回路です。全加算器は、下の桁からの桁上がりも含めて、3つの1ビット(A、B、下からの桁上がり)を足します。全加算器は、半加算器2個とOR回路1個で作れます(当サイトのPythonによる全8通りの検算で一致)。
法令や試験の数字は、改正や年度で変わります。この記事の最終確認日は2026年10月21日です。申込みや合格基準は、必ず試験団体の公式情報で確かめてください。

