情報Ⅰ 最強120講義

負の数の表現と2の補数|なぜ引き算が足し算になるのかを原理から解説【情報Ⅰ 第41講】

数強塾グループの一流講師陣 一流のライブ授業×最高品質の映像授業×サボれないコーチング

こんにちは、数強塾代表の藤原進之介です。この記事は参考書『藤原進之介の最強120講義』の第41講「負の数の表現と2の補数」のWeb版です。共通テスト「情報Ⅰ」での重要度はA(頻出。得点差がつく)、情報Ⅱでの接続先は(3)情報とデータサイエンスです。

2の補数は「ビットを反転して1を足す」と手順だけ覚えて終わりにされがちな単元です。しかしその暗記は、試験本番でほぼ確実に「1を足し忘れる」という形で崩れます。この講ではなぜ符号ビット方式ではなく2の補数が選ばれたのか、そしてなぜ反転して1を足すと正しくなるのかを、桁が溢れて捨てられるという事実から導きます。基数変換そのものは第40講「2進数・10進数・16進数の変換」で扱いましたので、本講は負の数の詰め込み方だけに絞ります。

1. この講の問い

「−」という記号を持たないコンピュータは、負の数をどうやって表しているのか。

2. 結論

この講の結論

先頭ビットを「符号の印」にする素朴な方法(符号ビット方式)は採用されていません。実際に使われているのは、−x を 2n − x で表す2の補数です。こうすると引き算が足し算そのものになり、加算の仕掛け1種類で足し算も引き算も処理できます。その代償として、表せる範囲が −2n−1 〜 2n−1−1 と非対称になり、範囲を超えると値が符号ごと化けます(オーバーフロー)。

3. なぜそうなるのか

3-1. まず素朴な案を作って、壊す

第40講で、コンピュータの中では値が「定められたビット数」の枠に収まっていることを見ました。ではその枠の中に、マイナスをどう詰め込むか。

誰でも最初に思いつくのは符号ビット方式(符号絶対値表現)です。8ビットのうち先頭1ビットを「0なら+、1なら−」の印にして、残り7ビットで絶対値を書く。

ビット列 符号ビット方式なら 2の補数なら
0000 0101 +5 +5
1000 0101 −5 −123
1111 1011 −123 −5

符号ビット方式は人間には読みやすい。読みやすいのですが、これを採用したコンピュータはほぼ存在しません。理由は2つあります。

理由1:ゼロが2つできてしまう。 0000 0000 は +0、1000 0000 は −0。どちらもゼロなのにビット列が違います。すると「この2つの値は等しいか」を判定するとき、ビット列を比べるだけでは判定できません。「両方ゼロなら等しい」という例外処理を、比較するあらゆる場所に入れる必要が出てきます。しかも8ビットで表せる256通りのうち1通りを、意味のない重複で捨てることになります。

理由2:引き算のために専用の仕掛けが要る。 符号ビット方式で 5 + (−3) を計算しようとすると、機械はこう考えなければなりません。「符号が違う → 絶対値を比べる → 大きいほうから小さいほうを引く → 大きいほうの符号を答えにつける」。これは足し算ではなく、場合分けを含む別の手続きです。足し算をする仕掛けと、引き算をする仕掛けと、大小を比べる仕掛けを、それぞれ用意しなければなりません。

理由2のほうが決定的です。コンピュータの設計では、同じ仕掛けを使い回せることが、そのまま速さと安さと信頼性になります。「引き算を足し算に化けさせられないか」——2の補数は、この問いへの答えです。

3-2. 桁が溢れて捨てられる、という事実から出発する

鍵は、コンピュータが有限のビット数しか持たないことにあります。8ビットの枠で計算した結果が9ビットになったら、9ビット目は保存する場所がないので消えます

これは欠陥ではなく、利用できる性質です。8ビットの世界では、計算結果はつねに 256 で割った余りに置き換えられます。数学の言葉でいえば、法 256(=28)の世界です。

アナログ時計と同じだと考えるとよいでしょう。12時間の時計で「3時間戻す」ことと「9時間進める」ことは、針の行き先が同じです。3 を引く代わりに 9 を足しても答えが合う。9 = 12 − 3 だからです。

戻す(引く)を、進める(足す)に置き換えられる。 有限で一周する世界では、これが成り立ちます。ここが本講の心臓部です。

3-3. だから −x は 2n − x になる

n ビットの世界で −x に求められる性質は、たった1つです。x に足したら 0 になること。 それ以外は何も要りません。

ここで 2n は、1 のあとに 0 が n 個並んだ n+1 ビットの数であり、下位 n ビットはすべて 0 です。つまり n ビットの枠から見れば 2n は 0 に見えます。したがって、

x + ( 2n − x ) = 2n → n ビットの枠では 0

2n − x を −x の代わりに使ってよい。 これが2の補数の定義そのものです。定義は「ビットを反転して1を足すもの」ではありません。定義は「2n から引いたもの」であり、ビット反転はその計算手順にすぎない——ここを取り違えている人が本当に多いところです。

3-4. 「反転して1を足す」がなぜ 2n − x になるのか

手順の正しさは、次の1行で終わります。

x と、x の全ビットを反転した数(これを1の補数といいます)を足すと、必ず全桁が1になります。各桁で「0と1」または「1と0」を足すので、繰り上がりが一度も起きず、すべての桁が1になるからです。

x + (x のビット反転)= 111…1(n個)= 2n − 1

移項して、

(x のビット反転)= 2n − 1 − x

両辺に1を足して、

(x のビット反転)+ 1 = 2n − x

これが2の補数です。「反転して1を足す」は覚える呪文ではなく、2行の式変形の結果でした。私は授業でここを飛ばしません。飛ばすと、生徒は必ず「反転だけして1を足し忘れる」からです。理由を知らない手順は、必ず途中で1手落ちます。

3-5. 表せる範囲が非対称になる理由

n ビットで表せるビット列は 2n 通りしかありません。これを正の数・負の数・ゼロに配分するので、ゼロが1通りを占める以上、正と負に均等には割れません。

もっと本質的な見方があります。2の補数では、先頭ビットの重みだけがマイナスになるのです。8ビットなら重みは左から順に次のとおりです。

1 2 3 4 5 6 7 8
重み −128 64 32 16 8 4 2 1
1011 0111 1 0 1 1 0 1 1 1

1011 0111 の値は −128 + 32 + 16 + 4 + 2 + 1 = −73 と、足し算だけで求まります。第40講で作った「重みの和」という道具が、そのまま使えるわけです。反転して1を足して符号を付け直す方法より、こちらのほうが速くて事故が少ない。

この見方に立つと、範囲は一瞬で出ます。

  • 最小値:先頭だけ1で残りが0 → −2n−1
  • 最大値:先頭が0で残りが全部1 → 2n−1 − 1

負のほうが1つ多い。 8ビットならマイナス側は −128 まで行けるのに、プラス側は 127 で止まります。これは「そういう決まり」ではなく、先頭ビットに −2n−1 という大きな負の重みを1個だけ置いたことの必然です。そして正の数が1つ足りない代わりに、ゼロは1通りだけになりました。符号ビット方式が捨てた1通りを、2の補数は拾っています。

3-6. オーバーフローはいつ起きるか

一周する世界の代償がオーバーフローです。8ビットで 100 + 50 を計算すると 150 ですが、150 は 127 を超えています。ビット列としては 1001 0110 になり、先頭ビットが1なので −106 と読まれます

オーバーフローの判定(これだけ覚えれば足ります)

正 + 正 なのに結果が負 → オーバーフロー
負 + 負 なのに結果が正 → オーバーフロー
正 + 負 → 絶対値は必ず小さくなるので、オーバーフローは起きない

3つ目が大事です。符号が違う数どうしの足し算は、絶対に溢れません。だから警戒すべきは「同じ符号どうしを足したとき」だけです。

3-7. 国の資料はここをどう書いているか(2026年8月時点)

ここは正確に押さえておきたいところです。

高等学校学習指導要領(平成30年告示)解説 情報編には、「補数」「負の数」「オーバーフロー」という語が一度も出てきません。 私が全文を検索して確認しました(2026年8月3日)。根拠になるのは情報Ⅰ(3)ア(ア)の次の1文だけです。

コンピュータでは定められたビット数のデータが扱われ,表現できる値の範囲や精度が有限であることで,計算結果は原理的に誤差を含む可能性がある

文部科学省「高等学校学習指導要領(平成30年告示)解説 情報編」平成30年7月(該当箇所は解説p.32相当)

文部科学省の「情報Ⅰ」教員研修用教材 第3章にも、「2の補数」「符号ビット」「負の数」という語は1度も出てきません。 「補数」は2回だけ現れますが、それは2進数の話ですらないのです。

(引き算)5−3=2の計算は,5に7を足して1桁目の数字を用いる。※ここで7は3に足して 10 になる数字(1桁あがる数字,補数という)。引き算は補数を使った足し算

文部科学省「高等学校情報科『情報Ⅰ』教員研修用教材」第3章 コンピュータとプログラミング(令和2年、該当箇所はp.100相当)

10進数の話です。 5 − 3 を「5 + 7 の1桁目」で求める。7 は 10 − 3 ですから、これは10の補数。国の教材は、補数という考え方を基数によらない一般的な道具として先に示し、2進数への適用は読者に委ねているわけです。同じ教材の「計算誤差について」では、有限性がこう表現されています。

15 ビットの箱を準備したとき,13 ビットの魚 A は箱に収まるが,20 ビットの魚 B は箱に入らない。このとき失われた 5 ビットが計算誤差の原因となる。

同上(該当箇所はp.100相当)

一方、情報処理推進機構(IPA)の基本情報技術者試験シラバス Ver.9.2 は、はっきり書いています。

(2)数値の表現 負の数の表現(補数表現),小数の表現を理解する。
(3)算術演算と精度 加減乗除,表現可能な数値の範囲,シフト演算,演算精度(誤差とその対策)など,コンピュータにおける算術演算を理解する。
用語例 論理シフト,算術シフト,桁落ち,情報落ち,オーバーフロー(あふれ),アンダーフロー,単精度,倍精度

情報処理推進機構「基本情報技術者試験(レベル2)シラバス Ver.9.2」

指導要領解説には無く、国の研修教材にも無く、資格試験のシラバスには明記されている。 これが2の補数という項目の現在地です。教科書によって扱いの深さが違うのは、この空白のためでしょう。だからこそ自分で原理から理解しておく価値があります。丸暗記した知識は、教科書ごとの表記ゆれに耐えられません。

4. 手で確かめる

4-1. 4ビットで全16パターンを並べる

4ビットなら全部書けます。全部書くのが最短の理解です。

ビット列 符号なし 2の補数 反転して1を足すと
0000 0 0 0000
0001 1 1 1111
0010 2 2 1110
0011 3 3 1101
0100 4 4 1100
0101 5 5 1011
0110 6 6 1010
0111 7 7 1001
1000 8 −8 1000
1001 9 −7 0111
1010 10 −6 0110
1011 11 −5 0101
1100 12 −4 0100
1101 13 −3 0011
1110 14 −2 0010
1111 15 −1 0001

この16行は Python で全通り生成して確認しました(2026年8月3日)。読み取ってほしい点が4つあります。

  • ビット列は1つも増えていません。 同じ16個を、意味だけ変えて読み直しているだけです。ハードウェアは何も変わりません
  • 先頭ビットが1なら負。 これは符号ビット方式と同じに見えますが、残り3ビットの読み方がまったく違います
  • −1 は 1111。 全部1が −1 になります。第40講で覚えた「全部1は最大値」との対比で頭に入れると強い
  • 0000 と 1000 は、反転して1を足しても自分に戻ります。 0 と −8 だけが例外的な位置にいる。−8 に対応する +8 が4ビットには存在しないことが、ここに現れています

4-2. 一周する世界を図で見る

この16個を円に並べると、正と負の境目が見えます。

00000000110010200113010040101501106011171000-81001-71010-61011-51100-41101-31110-21111-14ビットは16個で一周する(法16)赤い切れ目=+7の次が−8(オーバーフロー)緑の切れ目=−1の次が0(ここは正常に繰り上がる)
4ビットの16通りを円環に並べた図(法16の世界)

0111(+7)の次が 1000(−8)で、ここがになっています。数としては1つ増えただけなのに、値は15も落ちる。これがオーバーフローの正体です。一方 1111(−1)の次が 0000(0)で、こちらは正常に繰り上がっています。同じ「桁が溢れる」でも、事故になる場所とならない場所があるわけです。

4-3. 引き算を「補数の足し算」でやってみる

8ビットで 73 − 29 を、引き算を一切使わずに計算します。

手計算の手順

手順1 29 を8ビットで書く → 0001 1101
手順2 ビットを反転する → 1110 0010
手順3 1を足す → 1110 0011(10進で227)
手順4 73 に足す → 73 + 227 = 300 → 1 0010 1100
手順5 9ビット目は保存する場所がないので捨てる → 0010 1100 = 44

73 − 29 = 44。合っています。 使ったのは足し算だけでした。

手順3で得た 227 は 256 − 29 のことです。だから 73 + 227 は 73 − 29 + 256 であり、256 の分がちょうど9ビット目として溢れて消える。溢れて消えることが、引き算を成立させているのです。

4-4. Python で検算する

以下はすべて私の手元(Python 3)で実際に実行し、出力を確認したものです。

for x in [5, -5, 0, 127, -128, -1]:
    print(x, format(x & 0xFF, '08b'))
5 00000101
-5 11111011
0 00000000
127 01111111
-128 10000000
-1 11111111

x & 0xFF は「下位8ビットだけ取り出す」という意味です。負の数に対しても、そのまま2の補数のビット列が出てきます。

x = 29
inv = ~x & 0xFF
print(format(x, '08b'), format(inv, '08b'))
print(x + inv)
print(format(inv + 1, '08b'), inv + 1)
print((-x) & 0xFF)
00011101 11100010
255
11100011 227
227

x と反転を足すと 255 = 28 − 1 になりました。 3-4の式が目の前で成立しています。そして「反転して1を足した」227 と、Python に −29 の下位8ビットを直接聞いた 227 が一致しました。

a, b = 73, 29
comp = (-b) & 0xFF
raw = a + comp
print(raw, format(raw, '09b'))
print(raw & 0xFF, format(raw & 0xFF, '08b'))
300 100101100
44 00101100

4-3の手計算と完全に一致しました。& 0xFF が「9ビット目を捨てる」に対応しています。

4-5. オーバーフローを起こしてみる

def to_signed8(v):
    v &= 0xFF
    return v - 256 if v >= 128 else v
for a, b in [(100, 50), (-100, -50), (70, 60)]:
    print(a, b, a + b, to_signed8(a + b))
100 50 150 -106
-100 -50 -150 106
70 60 130 -126

正 + 正 が負になり、負 + 負 が正になっています。 これがオーバーフローです。ここで見てほしいのは、エラーが出ないことです。例外も飛びません。黙って間違った値が返ります。 ここが怖い。プログラムを手で追う技術については第54講「トレース──プログラムを手で追う技術」に書きましたが、こうした「黙って間違える」種類のバグこそ、トレースでしか見つかりません。

5. 共通テストではこう出る(重要度A)

2の補数は、共通テスト「情報Ⅰ」で単独の大問にはなりにくいものの、小問集合と他分野の部品として顔を出す位置にあります。第40講の基数変換が重要度Sなのに対して本講がAなのは、この違いによります。ただし出れば必ず差がつきます。原理を知らず手順だけ覚えた人が最も落としやすい形で出るからです。

なお当塾では、共通テストの問題文・選択肢・図表・プログラムは転載していません。以下は設問構造の整理と自作問題です。

出題の3つの型

型1:ビット列から値を求める/値からビット列を作る

「8ビットの2の補数表現で 1101 0110 が表す値は」型。先頭ビットの重みを −128 として足し算するのが最速です。反転して1を足して符号をつける方法は手数が多く、途中で間違えやすい。

型2:表現できる範囲を問う

「n ビットの2の補数で表せる整数の範囲は」型。−2n−1 〜 2n−1−1 を暗記するのではなく、「先頭だけ1」と「先頭以外全部1」を実際に書いて求めます。8ビットなら −128 〜 127、16ビットなら −32768 〜 32767。

型3:オーバーフローの判定

「この計算は正しい結果になるか」型。正+正が負、負+負が正ならオーバーフロー。正+負では起きない。 この3行を覚えていれば即答できます。

落とし穴

  • 符号なしと符号付きを取り違える。 1111 1111 は符号なしなら255、2の補数なら−1。問題文が「2の補数表現で」と書いているかを必ず確認します
  • 反転だけして1を足し忘れる。 最頻出のミス。3-4の式変形を理解していれば起きません
  • 「1の補数」と「2の補数」を混同する。 1の補数=反転しただけ(+0と−0が両方できてしまう)。2の補数=反転して1を足す。試験に出るのは2の補数です
  • 範囲を対称に書いてしまう。 負のほうが1つ多い。±128 ではありません
  • ビット数を確認しない。 同じ 1000 でも、4ビットなら−8、8ビットの 0000 1000 なら+8です

練習用の自作問題(本記事オリジナル)

問題

(1)8ビットの2の補数表現で 1011 0111 が表す値は。
(2)−45 を8ビットの2の補数表現で書け。
(3)16ビットの2の補数表現で表せる整数の範囲は。
(4)8ビットの2の補数表現で 100 + 50 を計算した結果は。
(5)8ビットの2の補数表現で 1111 1111 + 0000 0001 の結果は。

解答

(1)−128 + 32 + 16 + 4 + 2 + 1 = −73
(2)45 = 0010 1101 → 反転して 1101 0010 → 1を足して 1101 0011
(3)−32768 〜 32767
(4)150 は127を超えます。0110 0100 + 0011 0010 = 1001 0110 で先頭が1なので −106(オーバーフロー)
(5)1111 1111(−1)+ 0000 0001(1)= 1 0000 0000 → 9ビット目を捨てて 0000 0000(0)。正+負なのでオーバーフローではありません

ビット単位の演算そのものについては第43講「論理演算とベン図」もあわせて読んでおくと、反転(NOT)の意味がはっきりします。共通テスト情報Ⅰの学習計画全体は共通テスト「情報Ⅰ」対策はいつから何をやるべきかにまとめてあります。

6. 情報Ⅱではこうなる

情報Ⅰで有限のビット数は「そういう仕様」として与えられます。情報Ⅱでは、有限のビット数を自分で選ぶ側にまわります。 ここが決定的な違いです。

6-1. 「型を決める」ことが学習活動になる

文部科学省の「情報Ⅱ」教員研修用教材 第3章 学習11「データと関係データベース」には、関係データベース(RDB)で使うデータ型の一覧が置かれています。

データ型 用途
Char(固定長)
varchar(可変長)
Abc 文字,文字列を表す
String(text) Abc 文字列を表す
Int 1, 2, 3 整数を表す
Real(Double, Float) −0.2, 3.4 実数(または浮動小数点数)を表す
Object(blob) 図,音声などのデータ

文部科学省「高等学校情報科『情報Ⅱ』教員研修用教材」第3章 情報とデータサイエンス 前半(令和2年、該当箇所はp.112相当 図表2)を筆者が整理

そして同じページに置かれた演習が、これです。

小テストのデータを表形式に格納する際に必要なヘッダーとその型を挙げてみましょう。

同上 演習3

「型を挙げる」が生徒の作業になっています。 情報Ⅰでは int は言語やハードウェアが勝手に決めた枠でしたが、情報Ⅱではテーブルを設計する人間が選びます。Int を選べば整数しか入らず、桁数に上限があります。Real を選べば小数が入る代わりに誤差が入ります。選択が結果を決める。 2の補数の範囲 −2n−1 〜 2n−1−1 は、そのとき「この列に入れてよい値の上限と下限」として立ち上がってきます。

6-2. 「データの種類や単位」が学習内容として名指しされている

学習指導要領解説 情報編の情報Ⅱ(3)ア(ア)には、こう書かれています。

データの種類や単位,データの値の意味,データの収集や整理,整形する方法について理解し,必要な技能を身に付けるようにする

文部科学省「高等学校学習指導要領(平成30年告示)解説 情報編」平成30年7月(該当箇所は解説p.49相当)

情報Ⅰ側では「範囲や精度が有限である」という性質の理解で止まっていたものが、情報Ⅱでは「データの種類・単位・値の意味を理解し技能を身に付ける」に変わります。知識から設計判断へ。 本書が全講で追いかけている構図の、この講における現れ方です。

6-3. Python では溢れないのに、データベースでは溢れる

ここで一つ、実験しておきたいことがあります。データ分析でよく使う Python は、整数の桁あふれを見せません。

import sys
print(sys.maxsize)
print(2 ** 100)
print(len(str(2 ** 100)))
9223372036854775807
1267650600228229401496703205376
31

sys.maxsize の 9223372036854775807 は 263 − 1、つまり64ビット2の補数の最大値そのものです。ところが Python の整数は、その先も平気で計算してしまいます。2100 は31桁になりました。

だから「Python なら安心」ではありません。 同じ値をデータベースの Int 型の列に入れた瞬間、あるいは他の言語や機械学習ライブラリの固定ビット幅の配列に渡した瞬間、上限は復活します。情報Ⅱの実習でデータを収集して整形し、データベースに格納する過程では、この境界を自分でまたぐことになります。情報Ⅰで「計算問題の引っかけ」だったオーバーフローが、情報Ⅱではデータが壊れる原因に変わるわけです。

6-4. 情報Ⅰと情報Ⅱの扱いの違い

情報Ⅰ 情報Ⅱ
ビット数 与えられた枠。「有限であること」を理解する 型として自分で選ぶ。設計判断になる
2の補数 表現方法として理解する 型の上限・下限としてデータ品質に効く
オーバーフロー 計算問題の引っかけ 収集・整形したデータが壊れる原因
目的 「どう表すか」を理解する 「どの表現を選ぶか」を決める

まとめ

  • 符号ビット方式は「+0 と −0 が別に存在する」「引き算に専用の手続きが要る」の2点で捨てられた。
  • 2の補数の定義は「2n から引く」。「反転して1を足す」はその計算手順であり、x +(反転)= 2n − 1 から2行で導ける。
  • 有限のビット数で桁が溢れて捨てられる(法 2n の世界)ことが、引き算を足し算に化けさせている。
  • 先頭ビットの重みだけが −2n−1。だから範囲は −2n−1 〜 2n−1−1 と非対称になる。
  • オーバーフローは「正+正が負」「負+負が正」のときだけ起きる。正+負では起きない。
  • 学習指導要領解説にも情報Ⅰ研修用教材にも「2の補数」の語は無く、IPAのシラバスには明記されている(2026年8月時点)。
  • 情報Ⅱでは、有限のビット数が「型の選択」というデータ設計の判断に変わる。

出典(すべて2026年8月3日に取得)

  • 文部科学省「高等学校学習指導要領(平成30年告示)解説 情報編」平成30年7月
  • 文部科学省「高等学校情報科『情報Ⅰ』教員研修用教材」第3章 コンピュータとプログラミング(令和2年)
  • 文部科学省「高等学校情報科『情報Ⅱ』教員研修用教材」第3章 情報とデータサイエンス 前半(令和2年)
  • 情報処理推進機構(IPA)「基本情報技術者試験(レベル2)シラバス Ver.9.2」

本書『藤原進之介の最強120講義』の全講一覧は情報Ⅰ 最強120講義(目次)に、公開済みの記事はカテゴリ「情報Ⅰ 最強120講義」にまとめています。制度に関する記述は2026年8月時点の情報です。

執筆:藤原進之介(数強塾グループ代表)

オンライン数学専門塾「数強塾」代表。累計3,500名以上の中高一貫校生を指導。東進ハイスクール・東進衛星予備校・代々木ゼミナールなど出講実績あり。情報Ⅰの参考書を複数執筆しており、KADOKAWA『ゼロから始める情報I』、Gakken『きめる!共通テスト 情報Ⅰ』などがあります。本記事は参考書『藤原進之介の最強120講義』第41講のWeb版です。

藤原進之介のプロフィールを見る

「情報Ⅰ、独学でいけるのか不安」という方へ

数強塾では数学と情報Ⅰの両方に対応したオンライン個別指導を行っています。学習相談は無料、体験授業は3,000円(税込)でお受けしています。

体験授業のご案内つまずき診断(無料・約2分)

情報Ⅰ・情報Ⅱの勉強で詰まっていませんか

この記事を書いているのは、情報Ⅰ専門のオンライン個別指導「情報ラボ」(数強塾グループ)です。講義も過去問も無料で公開しているので、まず全部使ってみてください。

情報Ⅰについて相談する(無料)体験授業(3,000円)

お問い合わせの際は、内容欄に「情報Ⅰ希望」とご記入ください。担当者が直接お返事します。

数強塾オンラインのご案内

体験授業に申し込む入塾受け入れ状況(残席)数学つまずき診断(無料)体験授業の事前案内保護者の方へ高1・高2の方へ医学部志望の方へ保護者様からの声料金・指導システム指導事例・合格実績大学受験 合格実績(集計ルール開示)数強塾グループの理念学校別の数学対策数学の勉強法(記事一覧)数強塾プレミアム(映像授業)獣医学部専門コース鉄緑会・SAPIX等との併用サポート過去問解説・数学問題集情報Ⅰ・情報Ⅱ専門「情報ラボ」情報の過去問アーカイブ(無料PDF)解法テクニック事典(公式・裏ワザ)入試数学の定石(解き方の型・全27章)2026年 夏期講習会2026年 冬期講習会代表・藤原進之介について