| English | 意味 |
|---|---|
| register/ˈredʒɪstə/ | レジスタ |
| overflow/ˌəʊvəˈfləʊ/ | オーバーフロー |
| two's complement/tuːz ˈkɒmplɪmənt/ | 2の補数 |
| logical shift/ˈlɒdʒɪkl ʃɪft/ | 論理シフト |
| most significant bit/məʊst sɪɡˈnɪfɪkənt bɪt/ | 最上位ビット |
1と0を用いた計算
- コンピュータは、負の数の加算、シフト、格納を行いますが、すべてバイナリで行われます。
- 8ビットレジスタには限界があるため、結果がオーバーフローすることがあります。
- 2の補数により、負数を格納できます。
バイナリの加算とオーバーフロー
- 右から列ごとに足し合わせ、1を carry します:$1+1 = 10$(0を書き、1をcarry)。
- 例:
01110110(118) +00110000(48) =10100110(166)。 - 8ビットレジスタは0~255まで保持します。255を超える結果は9番目のビットが必要ですが、収まりません——これがオーバーフローであり、格納された答えは誤りとなります。

8ビット位取り図。1が150(128+16+4+2)となる値の下に配置されています。
二進法計算
byte = Σ 桁の値
8ビットパターンの how が0から255までの数を格納するかを確認せよ。
二進数 0101 + 0011 を加算してください。4ビットの結果を答えよ。
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
5 + 3 = 8 = 1000.
8ビットレジスタにおけるオーバーフローが発生するのは:
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
8ビットレジスタは0〜255を保持し、大きな結果は9番目のビットを必要とするが収まらず、失われる。
論理シフト
- 論理シフトでは、すべてのビットが左または右に移動し、端から外れたビットは消滅し、ゼロが埋まります。
- 左シフトは位置あたり×2倍、右シフトは位置あたり÷2倍になります。
- 例:
00110101(53) を2つ左シフト →11010100(212) = $53 \times 4$。

各ヘキサデシマル桁は独立した4ビットのグループ(ニブル)になります: F = 1111, 0 = 0000, 8 = 1000.
論理的左シフト1回で、符号なし整数は何倍になるか?
難易度 2/5 · 140 コイン + 今日初回完了時に小ボーナス付与
左シフトの各位置は 2倍する(右シフトは 2で割る)。
00110101は53です。2桁左シフトした後の十進法による値はいくつですか?
難易度 2/5 · 140 コイン + 今日初回完了時に小ボーナス付与
左シフト2回=×4: 53 × 4 = 212 (11010100)。
2の補数(負数)
- 2の補数では、最上位ビット(MSB)が負の値を持ちます:
-128 64 32 16 8 4 2 1。 - MSBが0 → 正、MSBが1 → 負。
- 数を負にするには:正の数を書いて、すべてのビットを反転し、1を加算します。例:$+40$ =
00101000→ 反転11010111→ +1 →11011000= $-40$。 - 8ビット2の補数の範囲:−128 から +127。

最上位ビットは−128の値を持つため、11011000 = −128 + 64 + 16 + 8 = −40
8ビット補数表現の整数が格納できる最も負の値はいくつか?
難易度 2/5 · 140 コイン + 今日初回完了時に小ボーナス付与
MSBの重みは−128なので、範囲は−128から+127である。
理解できましたか
- 桁上げを伴うバイナリ加算を行います。オーバーフローとは、結果に9番目のビットが必要となるが、8ビットのレジスタでは保持できない状態のこと (0–255)
- 論理シフト: 左=×2、右=÷2(位置あたり);端から外れたビットは消滅
- 2の補数: MSBが−128の値を持つ;ビットを反転して1を加算すると負になり、範囲は**−128 から +127**