記数法
- 位取り
- 2 進数 2k、8 進数 8k、16 進数 16k
- 10 進数へ
- Σ dk·bk
- 10 進数から
- 基数で割り、余りを下から上へ読む
- 16 進数 ↔ 2 進数
- 16 進数 1 桁 = 4 ビット
- 2 の補数
- ビットを反転して 1 を足す
公式集、全トピックの解法の要点、20 問の演習問題。完全な解答は巻末にあります。
8 ビットの 2 の補数で −70 を格納するようにビットを設定します。符号なしの数として読むと、このパターンの値 U はいくつですか?
ビットを 1110 1101 << 2 の 8 ビットの結果に設定します。結果の値 R は 10 進でいくつですか?
c → a と論理的に同値な論理式はどれですか? クリックしてください。
真理値表の 16 行のうち、(¬(q ∨ p) ∧ r) ∨ ¬((q ∧ ¬s) ∨ (r ↔ ¬s)) が真になるのは何行ですか? この数を N とします。
F = A′B′C + A′B′ + AC′ を最小の積和形に簡単化してください。簡単化した式に含まれるリテラル L はいくつですか?
d はドントケア条件を表します。F(A, B, C, D) = Σm(0, 1, 3, 4, 10, 11, 13) + d(5, 7, 12, 14) の最小の SOP 形を求めてください。リテラル L はいくつ含まれますか?
53 を法とする 27 の逆元を求めてください:0 < x < 53 かつ 27·x ≡ 1 (mod 53) を満たす数 x です。
53 は素数です。フェルマーの小定理を使って 2255479 mod 53 を求めてください。
比較に基づくソートの最悪の場合の下界はどれですか?
単方向連結リストでは、二分探索が O(log n) 時間にならないのはなぜですか?
同じ長さの連結リストを走査するより、配列を走査する方が実際にはずっと速いことが多いのはなぜですか。
ブルームフィルタは「この要素は集合に含まれるか」という問いにどのように答えますか。
完全グラフ K5 には、異なるハミルトン閉路が何個Hありますか? 始点や向きだけが異なる閉路は同じものとして数えます。
A から D への長さ 2 の歩道はいくつありますか? 歩道では頂点や辺を繰り返してもかまいません。その数を N とします。
関数従属性 A → B は何を意味しますか?
2 つのトランザクションがどちらも stock = 10 を読み、それぞれ 1 を引いて結果を書き込んだため、8 ではなく 9 になりました。これはどの異常ですか?
TLS は HTTPS にどのようなセキュリティ特性を提供しますか?
8 ポートのスイッチ(VLAN なし)の各ポートに 1 台ずつホストがあります。コリジョンドメインとブロードキャストドメインはいくつありますか?
あるサブネットはマスク 255.255.255.192 を使っています。使えるホストアドレスはいくつ H ありますか?
あるホストのアドレスは 10.20.90.171/30 です。そのネットワークアドレスの第 4 オクテット x はいくつですか?
答え: U = 186
ビットの設定:各ビットは 2 のべき乗(128、64、…、1)の値をもちます。16 進の 1 桁はちょうど 4 ビットで、8 ビットの 2 の補数では、いちばん左のビットの値は −128 です。ビット演算は、各ビット位置を別々に扱います。
答え: R = 180
ビットの設定:各ビットは 2 のべき乗(128、64、…、1)の値をもちます。16 進の 1 桁はちょうど 4 ビットで、8 ビットの 2 の補数では、いちばん左のビットの値は −128 です。ビット演算は、各ビット位置を別々に扱います。
2 だけ左にシフトすると、すべてのビットが 2 桁左へ動きます。左端からはみ出したビットは失われ、右側には 0 が入ります。
答え: ¬c ∨ a
論理的同値: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)。
縦線の後ろの列は、表示されている順の選択肢です。
答え: N = 7
真理値表:n 個の異なる変数をもつ論理式には、真理値のすべての組み合わせに対応する 2ⁿ 行があります(1 = 真、0 = 偽)。内側から順に進め、部分式ごとに列を用意します。¬a は値を反転させ、a ∧ b は両方が 1 のときだけ 1、a ∨ b は両方が 0 のときだけ 0、a → b は a = 1 かつ b = 0 のときだけ 0、a ↔ b は両辺が等しいとき 1 です。
答え: 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 回使うことに当たります。
答え: L = 9
カルノー図:セルはグレイコード(00, 01, 11, 10)の順に並んでいるので、端をまたぐものも含め、隣り合うセルはちょうど 1 つの変数だけが異なります。1 を、1, 2, 4, 8, 16 個のセルからなる長方形で、できるだけ大きく、できるだけ少ない数でグループ化し、すべての 1 を覆います。各グループは 1 つの積項で、グループの中で一定のままの変数からなります。2ᵏ 個のセルのグループでは k 個の変数が消えます。ドントケア(X)はグループを大きくするために使えますが、覆う必要はありません。代わりに 0 をグループ化すると、最小の POS 形が得られます。
1 と X からつくれる最大のグループ。
答え: 27−1 mod 53 = 2
逆元と合同式: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)。
各余り r は r ≡ t·27 (mod 53) と書けます。
答え: 2255479 mod 53 = 3
冪剰余と 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 で行います。
答え: D · Ω(n log n)
どの比較ソートも、最悪の場合に少なくとも log₂(n!) ≈ n log n 回の比較が必要です。計数ソートは比較を行わないため、この下界を下回ることができます。
答え: A · インデックスによる直接アクセスがないので、中央の要素に到達するのに O(n) ステップかかるから
二分探索には中央への O(1) のアクセスが必要です。連結リストではそこまでたどるのに線形時間がかかるので、全体は O(n) になります。
答え: D · 配列の要素は連続しているので、CPU キャッシュを有効に使えるから
連続したメモリは参照の局所性がよい一方、連結されたノードはばらばらに配置されていることがあり、多くのキャッシュミスを引き起こします。
答え: C · 偽陽性はあり得るが、偽陰性はない
ある要素に対応するビットのどれかが 0 なら確実に存在せず、すべて 1 ならおそらく存在します。ブルームフィルタは精度と引き換えに非常に少ないメモリで済みます。
答え: H = 12
オイラー、ハミルトン、木:連結グラフは、すべての頂点の次数が偶数のときオイラー閉路(すべての辺を 1 回ずつ通って始点に戻る)をもち、ちょうど 2 つの頂点の次数が奇数のとき、閉路でないオイラー路をもちます。その路は、一方の奇数次数の頂点から他方へ通ります。ハミルトン閉路はすべての頂点を 1 回ずつ訪れ、Kn には (n − 1)!/2 個あります。n 個の頂点をもつ木には n − 1 本の辺があり、m 本の辺をもつ連結グラフは、m − n + 1 本の辺を取り除いても全域木が残ります。
答え: N = 1
次数:頂点の次数は、その頂点に接する辺の数です。どの辺にも端が 2 つあるので、次数の和は辺の数の 2 倍になります:Σ deg(v) = 2|E|(握手補題)。したがって、奇数次数の頂点の数は偶数です。Kn には n(n − 1)/2 本の辺があり、n 個の頂点をもつ k 正則グラフには nk/2 本、n 個の頂点をもつ木には n − 1 本の辺があります。
答え: A · A の各値にはちょうど 1 つの B の値が対応する
A → B は、同じ A の値を持つ任意の 2 行は同じ B の値を持たなければならないことを意味します。A が B を決定します。
答え: A · 更新の喪失(ロストアップデート)
更新の喪失では、両方のトランザクションが同じ古い値から作業し、2 つ目の書き込みが 1 つ目を消してしまいます。ロック(SELECT ... FOR UPDATE)や原子的な更新がこれを防ぎます。
答え: A · 機密性、完全性、サーバー認証
TLS はトラフィックを暗号化し、改ざんを検出し、証明書によってサーバーを認証します(任意でクライアントも認証します)。
答え: D · コリジョンドメイン 8、ブロードキャストドメイン 1
スイッチの各ポートはそれぞれ独立したコリジョンドメインですが、ブロードキャストはすべてのポートに転送されるため、スイッチ全体で 1 つのブロードキャストドメインです。ハブならどちらも 1 つになります。
答え: H = 62
IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).
答え: x = 168
IPv4 サブネット化:アドレスは 32 ビットです。プレフィックス /p は先頭の何ビットがネットワークを表すかを示し、残りの 32 − p ビットでホストを番号付けします。サブネットには 2³²⁻ᵖ 個のアドレスがありますが、最初(ネットワークアドレス)と最後(ブロードキャストアドレス)はホストに割り当てられないため、2³²⁻ᵖ − 2 台のホストが収まります。 例外:/31(ポイントツーポイントリンク、RFC 3021)は 2 つのアドレスを両方ともホストに使い、/32 は単一のアドレス(単一ホストまたはループバック)です。
ExamProblems · examproblems.com/courses/computer-science-fundamentals