コンピュータサイエンス基礎:直前対策パック

公式集、全トピックの解法の要点、20 問の演習問題。完全な解答は巻末にあります。

新しい問題科目に戻る

印刷ウィンドウで「PDF として保存」を選ぶと、コピーを端末に保存できます。

1公式と解法

記数法

位取り
2 進数 2k、8 進数 8k、16 進数 16k
10 進数へ
Σ dk·bk
10 進数から
基数で割り、余りを下から上へ読む
16 進数 ↔ 2 進数
16 進数 1 桁 = 4 ビット
2 の補数
ビットを反転して 1 を足す

命題論理と証明

真理値表の行
2ⁿ
含意
p → q ≡ ¬p ∨ q ≡ ¬q → ¬p
含意の否定
¬(p → q) ≡ p ∧ ¬q
同値(双条件)
p ↔ q ≡ (p → q) ∧ (q → p)
ド・モルガンの法則
¬(p ∧ q) ≡ ¬p ∨ ¬q, ¬(p ∨ q) ≡ ¬p ∧ ¬q
分配法則
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r), p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
量化子の否定
¬∀x P(x) ≡ ∃x ¬P(x), ¬∃x P(x) ≡ ∀x ¬P(x)
肯定式(modus ponens)、否定式(modus tollens)
p → q, p ⊢ q; p → q, ¬q ⊢ ¬p

解き方

  1. 異なる変数の数を数えます:真理値表の行数は 2ⁿ で、最初の行はすべて 1 です。
  2. 部分式ごとに列を用意し、内側から順に列を埋めていきます。
  3. 各結合子の規則を適用します:→ が 0 になるのは 1 → 0 のときだけ、↔ は両辺が一致するとき 1 です。
  4. 同値の判定では最後の列を行ごとに比べます。論証の判定では、すべての前提が 1 である行だけを見ます。
  5. 量化された文を否定するには、¬ を内側へ移し、∀ と ∃ を入れ替え、内側の式を否定します。

デジタル論理:ゲート・カルノー図・フリップフロップ

基本ゲート
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
ブールの規則
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
ド・モルガンの法則
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
カルノー図の並び順
00, 01, 11, 10 (Gray code)
2ᵏ 個のセルのグループ
k 個の変数が消える
4 対 1 マルチプレクサ
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
フリップフロップ
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
カウンタ
n ビット:2ⁿ 状態; mod-N:2ⁿ ≥ N を満たす最小の n; fout = fclk/N
リップルカウンタ
fmax = 1/(n·tpd)
リングカウンタとジョンソンカウンタ
n 状態と 2n 状態

解き方

  1. 回路では、入力から出力へ向かってゲートを 1 つずつ進み、各配線に値を書き込むか、式を書いて真理値表を埋めましょう。
  2. 簡単化するには、1(とドントケアは X として)を、行と列がグレイコード 00, 01, 11, 10 のカルノー図に書き込みましょう。
  3. 1 を、1, 2, 4, 8, 16 個のセルからなる、できるだけ少なくできるだけ大きなグループで、端をまたぎながら覆いましょう。各グループは、一定のままの変数からなる 1 つの積項です。POS 形には 0 をグループ化します。
  4. フリップフロップとカウンタでは、各有効クロックエッジで入力を読み取り、エッジごとの状態を書き出し、n ビットのカウンタは 2ⁿ 個の状態で折り返すことを忘れないようにしましょう。

整数論と合同式

余りのある割り算
a = q·n + r, 0 ≤ r < n
ユークリッド
gcd(a, b) = gcd(b, a mod b)
最小公倍数
lcm(a, b) = a·b/gcd(a, b)
逆行列
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
一次合同式
a·x ≡ b → x ≡ a⁻¹·b (mod n)
オイラーのトーシェント関数
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
フェルマー
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n

解き方

  1. まずすべての数を n で割った余りに直します。余りは 0 から n − 1 の間です。
  2. 最大公約数は、ユークリッドの互除法で割り算を繰り返して求めます。最後の 0 でない余りが最大公約数です。
  3. 逆元は拡張ユークリッドの互除法で求め、a の係数を取ります。負なら n を足します。
  4. a·x ≡ b は a⁻¹ を掛けて解きます。2 つの合同式は x = r₁ + m₁k とおいて組み合わせます。
  5. べき乗では、指数を 2 進数で書いて平方を繰り返します。RSA では d = e⁻¹ mod φ(n)、φ(n) = (p − 1)(q − 1) です。

グラフ理論

握手補題
Σ deg(v) = 2|E|
完全グラフ
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
正則グラフ
|E| = n·k/2
木と森
|E| = n − 1, |E| = n − c
木の葉
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
オイラー
閉路:すべての次数が偶数; 路:奇数次数がちょうど 2 つ
Kn のハミルトン閉路
(n − 1)!/2
ダイクストラ法の更新
d(v) = min(d(v), d(u) + w(u, v))
長さ L の歩道
(Mᴸ)ij

解き方

  1. 各頂点の次数を書き出します。次数の総和は辺の数の 2 倍になります。
  2. オイラーの問題では、グラフが連結であることを確かめ、奇数次数の頂点を数えます。
  3. 木では、辺が n − 1 本であることと握手補題を使います。
  4. ダイクストラ法では、暫定距離の表をつくり、毎回、未確定の頂点のうち最小のものを確定します。
  5. 最小全域木では、辺を重みの順に並べ、閉路をつくる辺を飛ばす方法(クラスカル法)か、始点から 1 本の木を成長させる方法(プリム法)を使います。

IPv4 サブネット化

サブネットあたりのホスト数
2(32 − prefix) − 2 (/31: 2, /32: 1)
ブロックサイズ
256 − (mask octet)
ネットワークアドレス
IP AND マスク
ブロードキャストアドレス
IP OR (NOT マスク):ホスト部のビットをすべて 1 にする
n ビット借りたときのサブネット数
2n

2演習問題

1.記数法ふつう
2 の補数での桁の重み1−12816413201608041201

8 ビットのパターン 1110 0010 は、符号付き整数を 2 の補数で表しています。10 進数での値 N はいくつですか?

1110 00108 bit
N =
2.記数法むずかしい
8 bit1 px1280 px720 pxM = ? KiB

非圧縮の画像が 1280 × 720 ピクセル、1 ピクセルあたり 8 ビットです。必要なメモリ M は何 KiB(1 KiB = 1024 バイト)ですか?

1280 × 720 px8 bit/px1 KiB = 1024 B
M = KiB
3.命題論理と証明ふつう
¬(r ∨ p) ∧ q¬(r ∨ p) ∧ ¬q¬(r ∨ p) → ¬q(r ∨ p) ∧ ¬q

(r ∨ p) → q を背理法によって証明しようとしています。最初に仮定する主張はどれですか? クリックしてください。

(r ∨ p) → q
  1. 1¬(r ∨ p) ∧ q
  2. 2¬(r ∨ p) ∧ ¬q
  3. 3¬(r ∨ p) → ¬q
  4. 4(r ∨ p) ∧ ¬q
4.命題論理と証明むずかしい
¬p → ¬rr → pp → rp ∧ r

前提 p → q; q → r が与えられています。そこから導かれる結論はどれですか? クリックしてください。

p → qq → r
  1. 1¬p → ¬r
  2. 2r → p
  3. 3p → r
  4. 4p ∧ r
5.デジタル論理:ゲート・カルノー図・フリップフロップふつう
ABC000111100101324576

F = AB′C + BC + AB′ + ABC を最小の積和形に簡単化してください。簡単化した式に含まれるリテラル L はいくつですか?

F = AB′C + BC + AB′ + ABC
L =
6.デジタル論理:ゲート・カルノー図・フリップフロップむずかしい
FFQ0​Q0​FFQ1​Q1​FFQ2​Q2​FFQ3​Q3​FFQ4​Q4​FFQ5​Q5​CLKMOD-60

mod-60 カウンタが、最小個数のフリップフロップでつくられています。使われない状態 U はいくつありますか?

N = 60
U =
7.整数論と合同式ふつう

23x ≡ 29 (mod 33) を解いてください。0 < x < 33 を満たす解 x を答えてください。

23x ≡ 29 (mod 33)
x =
8.整数論と合同式むずかしい
mc = me​ mod ncm = cd​ mod nm(n, e) = (161, 13)d = ?

ある RSA 鍵は、素数 p = 7 と q = 23、公開指数 e = 13 を使います。秘密指数 d(0 < d < φ(n))を求めてください。

p = 7q = 23e = 13
d =
9.アルゴリズムと計算量ふつう

ある関数は n 回反復するループを 1 つ実行し、その後別に n 回反復するループをもう 1 つ実行します。時間計算量は何ですか?

  1. AO(log n)
  2. BO(2ⁿ)
  3. CO(n²)
  4. DO(n)
10.アルゴリズムと計算量むずかしい

次の充足可能性問題のうち、多項式時間で解けることが知られているのはどれですか?

  1. A回路充足可能性問題
  2. B各節のリテラルが高々 2 個の 2-SAT
  3. C連言標準形の式に対する一般の SAT
  4. D各節のリテラルがちょうど 3 個の 3-SAT
11.データ構造ふつう

トライ(接頭辞木)が特に効率的なのはどのような用途ですか。

  1. Aオートコンプリートなどの接頭辞検索
  2. B最短経路の探索
  3. C行列の格納
  4. D数値のソート
12.データ構造むずかしい

ランクによる合併(union by rank)も経路圧縮も使わない場合、n 要素の union-find 構造での 1 回の find の最悪コストはどれですか。

  1. AO(1)
  2. BO(n)
  3. CO(α(n))
  4. DO(log n)
13.グラフ理論ふつう

連結グラフに 17 個の頂点と 24 本の辺があります。全域木にするには、辺を何本k取り除く必要がありますか?

|V| = 17|E| = 24
k =
14.グラフ理論むずかしい
15141211111910210ABCDEFG

ダイクストラ法を使って、重み付きグラフで A から F までの最短経路の長さd(F)を求めてください。

始点:A終点:F
d(F) =
15.データベースと SQLふつう

データベースのトリガーとは何ですか?

  1. Aテーブルで INSERT、UPDATE、DELETE などの指定したイベントが起きると自動的に実行されるコード
  2. Bデータベースの定期バックアップ
  3. C検索を速くするインデックスの一種
  4. Dユーザーが手で実行するクエリ
16.データベースと SQLむずかしい

トランザクション T1 は行 A をロックして行 B を待ち、T2 は行 B をロックして行 A を待っています。一般的な DBMS はどうしますか?

  1. Aデッドロックを検出し、一方のトランザクションを犠牲として中止する
  2. B2 つのトランザクションを 1 つにまとめる
  3. C両方のトランザクションを同時にコミットする
  4. D一方がふつうにコミットするまで、両方のトランザクションを待たせる
17.コンピュータネットワークふつう

1500 バイトのパケットを 12 Mbit/s のリンクに送り出すのにどれだけかかりますか(伝送遅延)?

  1. A12 ms
  2. B0.125 ms
  3. C8 ms
  4. D1 ms
18.コンピュータネットワークむずかしい

DNS クエリは通常 UDP を使います。DNS が代わりに TCP を使うのは通常どのような場合ですか?

  1. AIP アドレスの逆引きの場合だけ
  2. BWeb ブラウザーから送られるすべてのクエリの場合
  3. CUDP には大きすぎる応答と、ゾーン転送の場合
  4. Dドメイン名が 10 文字より長い場合だけ
19.IPv4 サブネット化ふつう
/24 → /2711111111111111111111111111100000ネットワーク部ホスト部

ネットワーク 192.168.10.0/24 を、少なくとも 8 個の同じ大きさのサブネットに分けます。借りるビットをできるだけ少なくすると、各サブネットで使えるホスト数 H はいくつですか?

192.168.10.0/248 subnets
H =
20.IPv4 サブネット化むずかしい
最後のオクテット = 46012806413201618141201ネットワークホスト

あるホストのアドレスは 10.20.217.46/25 です。そのサブネットで最後に使えるホストアドレスの第 4 オクテット x はいくつですか?

10.20.217.46/25
x =

3溶液

1.記数法

答え: N = −30

位取り記数法:各桁の値は、その数字に基数のべき乗を掛けたものです。2 進数では各桁の重みが 1、2、4、8、16、…、16 進数では 1、16、256、… で、A–F は 10–15 を表します。8 ビットの 2 の補数では、最上位ビットの重みが +128 ではなく −128 になり、こうして負の数を表します。

重みを合計する

ほかのビットは通常の正の重みのままです。

−128 + 64 + 32 + 2 = −30

答え

N = −30
2.記数法

答え: M = 900 KiB

位取り記数法:各桁の値は、その数字に基数のべき乗を掛けたものです。2 進数では各桁の重みが 1、2、4、8、16、…、16 進数では 1、16、256、… で、A–F は 10–15 を表します。8 ビットの 2 の補数では、最上位ビットの重みが +128 ではなく −128 になり、こうして負の数を表します。

ビットとバイト

1280·720·8 = 7372800 bit = 921600 B

KiB に換算する

921600/1024 = 900 KiB

答え

M = 900 KiB
3.命題論理と証明

答え: (r ∨ p) ∧ ¬q

論理的同値:2 つの論理式は、真理値表のすべての行で同じ値をとるとき同値(≡)です。恒真式(トートロジー)はすべての行で 1、矛盾(恒偽式)はすべての行で 0、どちらでもないものは充足可能な非恒真式です。役に立つ法則:ド・モルガンの法則 ¬(a ∧ b) ≡ ¬a ∨ ¬b と ¬(a ∨ b) ≡ ¬a ∧ ¬b、a → b ≡ ¬a ∨ b ≡ ¬b → ¬a(対偶)、¬(a → b) ≡ a ∧ ¬b、そして分配法則 a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c)。

含意の各部分

a = r ∨ p, b = q

含意の否定

¬(a → b) ≡ a ∧ ¬b = (r ∨ p) ∧ ¬q

答え

(r ∨ p) ∧ ¬q

仮定から矛盾が導かれるなら、その含意は真でなければなりません。

4.命題論理と証明

答え: p → r

量化子と論証:¬∀x P(x) ≡ ∃x ¬P(x)、¬∃x P(x) ≡ ∀x ¬P(x)。否定を内側へ移し、通過する量化子をすべて入れ替え、内側の式は ¬(a → b) ≡ a ∧ ¬b のような命題論理の法則で否定します。論証は、すべての前提が 1 であるどの行でも結論が 1 のとき、妥当です。前提が真で結論が偽になる行が 1 つでもあれば、それは反例であり、その論証が妥当でないことを示します。

すべての前提が真の行

p = 1, q = 1, r = 1: ¬p → ¬r = 1, r → p = 1, p → r = 1, p ∧ r = 1
p = 0, q = 1, r = 1: ¬p → ¬r = 0, r → p = 0, p → r = 1, p ∧ r = 0
p = 0, q = 0, r = 1: ¬p → ¬r = 0, r → p = 0, p → r = 1, p ∧ r = 0
p = 0, q = 0, r = 0: ¬p → ¬r = 1, r → p = 1, p → r = 1, p ∧ r = 0

結論

p → r (仮言三段論法)

答え

p → r
5.デジタル論理:ゲート・カルノー図・フリップフロップ

答え: L = 4

ブール代数:式を簡単にする規則は、X + X′ = 1 と X·X′ = 0、X + X = X、吸収則 X + X·Y = X、結合則 X·Y + X·Y′ = X、X + X′Y = X + Y、そしてコンセンサス定理 XY + X′Z + YZ = XY + X′Z です。ド・モルガンの法則は (X·Y)′ を X′ + Y′ に、(X + Y)′ を X′·Y′ に変えます。カルノー図はこれらの規則を図で適用するものです:隣り合う 2 つのセルのグループは、XY + XY′ = X を 1 回使うことに当たります。

式の最小項

AB′C → m(5)
BC → m(3, 7)
AB′ → m(4, 5)
ABC → m(7)
ABC00011110010001130214151706

グループ化して読み取る

F = BC + AB′

リテラルを数える

L = 4

答え

L = 4
6.デジタル論理:ゲート・カルノー図・フリップフロップ

答え: U = 4

フリップフロップとカウンタ:フリップフロップは、有効なクロックエッジでだけ変化します。D は入力をコピーし(Q⁺ = D)、T は T = 1 のときトグルし、JK は 00 で保持、01 でリセット、10 でセット、11 でトグルします。n ビットの 2 進カウンタには 2ⁿ 個の状態があり、2ⁿ を法として数えます。mod-N カウンタは 0, 1, …, N − 1 と数えて 0 に戻り、2ⁿ ≥ N を満たす最小の n 個のフリップフロップが必要です。リップルカウンタの各段は周波数を半分にするので、mod-N カウンタの最後の出力は fclk/N で動作します。n 個のフリップフロップのジョンソンカウンタには 2n 個の状態があり、リングカウンタには n 個あります。

フリップフロップの個数

2ⁿ ≥ 60 → n = 6 (2⁶ = 64)

使われない状態

U = 64 − 60 = 4

答え

U = 4
7.整数論と合同式

答え: x = 7

逆元と合同式:a が n を法として逆元をもつのは、gcd(a, n) = 1 のときに限ります。拡張ユークリッドの互除法で 1 = s·n + t·a と書くと、a⁻¹ ≡ t (mod n) です。gcd(a, n) = 1 のとき、合同式 a·x ≡ b (mod n) の解は x ≡ a⁻¹·b です。法が互いに素な 2 つの合同式 x ≡ r₁ (mod m₁) と x ≡ r₂ (mod m₂) には、m₁·m₂ を法として 1 つの解があります(中国の剰余定理)。オイラーの φ(n) は、1 から n までの数のうち n と互いに素なものの個数です:φ(n) = n·∏(1 − 1/p)。

23 の逆元

r = 33, t = 0
r = 23, q = 1, t = 1
r = 10, q = 2, t = −1
r = 3, q = 3, t = 3
r = 1, q = 3, t = −10
23−1 ≡ 23 (mod 33)

解く

x ≡ 23·29 = 667 ≡ 7 (mod 33)
確認: 23·7 = 161 ≡ 29 (mod 33)

答え

x = 7
8.整数論と合同式

答え: d = 61

冪剰余と RSA:aᵏ mod n は反復二乗法で計算します:k を 2 進数で書き、二乗し、毎回簡約し、ビットが 1 の冪を掛けます。フェルマー:素数 p が a を割り切らないとき aᵖ⁻¹ ≡ 1 (mod p) なので、指数は p − 1 を法として簡約できます。RSA:素数 p と q を選び、n = p·q、φ(n) = (p − 1)(q − 1) とします。公開指数 e は φ(n) と互いに素で、秘密指数は d = e⁻¹ mod φ(n) です。暗号化は c = mᵉ mod n、復号は m = cᵈ mod n で行います。

法とトーシェント関数

n = 7·23 = 161
φ(n) = 6·22 = 132

拡張ユークリッドの互除法

r = 132, t = 0
r = 13, q = 10, t = 1
r = 2, q = 6, t = −10
r = 1, q = 2, t = 61

秘密指数

d = 61
確認: 13·61 = 793 = 6·132 + 1

答え

d = 61
9.アルゴリズムと計算量

答え: D · O(n)

これが答えになる理由

n + n = 2n で、定数倍は取り除かれるので、この関数は O(n) です。

答え

D · O(n)
10.アルゴリズムと計算量

答え: B · 各節のリテラルが高々 2 個の 2-SAT

これが答えになる理由

2-SAT は P に属します(強連結成分を用いて線形時間)。一方、3-SAT は NP 完全です。

答え

B · 各節のリテラルが高々 2 個の 2-SAT
11.データ構造

答え: A · オートコンプリートなどの接頭辞検索

これが答えになる理由

トライは文字列を経路上の文字として格納するため、検索や接頭辞クエリはキーの長さに比例する時間で済みます。

答え

A · オートコンプリートなどの接頭辞検索
12.データ構造

答え: B · O(n)

これが答えになる理由

素朴な合併では木が長い鎖状につながることがあるので、find は n − 1 個の親ポインタをたどることがあります。2 つのヒューリスティックを使えば、ほぼ定数に近づきます。

答え

B · O(n)
13.グラフ理論

答え: k = 8

オイラー、ハミルトン、木:連結グラフは、すべての頂点の次数が偶数のときオイラー閉路(すべての辺を 1 回ずつ通って始点に戻る)をもち、ちょうど 2 つの頂点の次数が奇数のとき、閉路でないオイラー路をもちます。その路は、一方の奇数次数の頂点から他方へ通ります。ハミルトン閉路はすべての頂点を 1 回ずつ訪れ、Kn には (n − 1)!/2 個あります。n 個の頂点をもつ木には n − 1 本の辺があり、m 本の辺をもつ連結グラフは、m − n + 1 本の辺を取り除いても全域木が残ります。

全域木の辺

17 − 1 = 16

取り除く辺

k = 24 − 16 = 8

答え

k = 8
14.グラフ理論

答え: d(F) = 27

最短経路と全域木:ダイクストラ法は毎ラウンド 1 つの頂点を確定します:暫定距離が最小の未確定の頂点です。その距離は最終となり、各隣接頂点 v は d(v) = min(d(v), d(u) + w(u, v)) と更新されます。クラスカル法は、辺を軽い順に取り、閉路をつくる辺を飛ばして最小全域木をつくります。プリム法は、始点から 1 本の木を成長させ、その木から出る最も軽い辺を常に加えます。n 個の頂点の全域木には n − 1 本の辺があります。

ダイクストラ法をラウンドごとに

各行:確定した頂点、その最終距離、距離が改善される隣接頂点。

A (0): B: 15
B (15): C: 29, G: 24
G (24): D: 26, E: 34
D (26): F: 27
F (27)
C (29)
E (34)

最短経路

A → B → G → D → F
d(F) = 27

答え

d(F) = 27
15.データベースと SQL

答え: A · テーブルで INSERT、UPDATE、DELETE などの指定したイベントが起きると自動的に実行されるコード

これが答えになる理由

トリガーはデータの変更の前後に自動的に実行され、例えば監査ログを書いたり、複雑なルールを強制したりします。

答え

A · テーブルで INSERT、UPDATE、DELETE などの指定したイベントが起きると自動的に実行されるコード
16.データベースと SQL

答え: A · デッドロックを検出し、一方のトランザクションを犠牲として中止する

これが答えになる理由

待ちグラフの閉路がデッドロックです。DBMS は一方のトランザクションをロールバックしてもう一方を続行させ、犠牲になったほうは再試行されることがあります。

答え

A · デッドロックを検出し、一方のトランザクションを犠牲として中止する
17.コンピュータネットワーク

答え: D · 1 ms

これが答えになる理由

1500 バイト = 12,000 ビット。12,000 / 12,000,000 bit/s = 0.001 s = 1 ms。伝送遅延はパケットサイズとリンク速度で決まり、距離には依存しません。

答え

D · 1 ms
18.コンピュータネットワーク

答え: C · UDP には大きすぎる応答と、ゾーン転送の場合

これが答えになる理由

UDP の応答が切り詰められると、リゾルバーは TCP で再試行します。ネームサーバー間のゾーン転送も大量のデータを運ぶため TCP を使います。

答え

C · UDP には大きすぎる応答と、ゾーン転送の場合
19.IPv4 サブネット化

答え: H = 30

IPv4 サブネット化:アドレスは 32 ビットです。プレフィックス /p は先頭の何ビットがネットワークを表すかを示し、残りの 32 − p ビットでホストを番号付けします。サブネットには 2³²⁻ᵖ 個のアドレスがありますが、最初(ネットワークアドレス)と最後(ブロードキャストアドレス)はホストに割り当てられないため、2³²⁻ᵖ − 2 台のホストが収まります。 例外:/31(ポイントツーポイントリンク、RFC 3021)は 2 つのアドレスを両方ともホストに使い、/32 は単一のアドレス(単一ホストまたはループバック)です。

借りるビット数

23 = 8 ≥ 8 → b = 3, /27

サブネットあたりのホスト数

25 − 2 = 30

答え

H = 30
20.IPv4 サブネット化

答え: x = 126

IPv4 サブネット化:アドレスは 32 ビットです。プレフィックス /p は先頭の何ビットがネットワークを表すかを示し、残りの 32 − p ビットでホストを番号付けします。サブネットには 2³²⁻ᵖ 個のアドレスがありますが、最初(ネットワークアドレス)と最後(ブロードキャストアドレス)はホストに割り当てられないため、2³²⁻ᵖ − 2 台のホストが収まります。 例外:/31(ポイントツーポイントリンク、RFC 3021)は 2 つのアドレスを両方ともホストに使い、/32 は単一のアドレス(単一ホストまたはループバック)です。

ブロックサイズ

27 = 128

このホストのサブネット

ネットワーク: ⌊46/128⌋·128 = 0
ブロードキャスト: 0 + 128 − 1 = 127
使えるホスト: 1 … 126

答え

x = 126

ExamProblems · examproblems.com/courses/computer-science-fundamentals