Арифметика в двоичной системе
Сложение, вычитание, умножение в двоичной системе. Переполнение разряда. Связь с работой процессора.
Арифметика в двоичной системе счисления
1. Двоичное сложение
Арифметические операции в двоичной системе выполняются по тем же правилам, что и в десятичной, но с учётом того, что основание равно 2.
Таблица двоичного сложения
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10 (0 пишем, 1 переносим в старший разряд)
Пример сложения:
1101 (13₁₀)
+ 1011 (11₁₀)
------
11000 (24₁₀)
Поразрядное выполнение:
- Младший разряд: 1 + 1 = 10 → пишем 0, перенос 1
- Второй разряд: 0 + 1 + перенос 1 = 10 → пишем 0, перенос 1
- Третий разряд: 1 + 0 + перенос 1 = 10 → пишем 0, перенос 1
- Четвёртый разряд: 1 + 1 + перенос 1 = 11 → пишем 1, перенос 1
- Пятый разряд: перенос 1 → пишем 1
2. Двоичное вычитание
Таблица двоичного вычитания
0 - 0 = 0
1 - 0 = 1
1 - 1 = 0
0 - 1 = 1 (с заёмом единицы из старшего разряда)
При вычитании 0 − 1 необходимо занять единицу из ближайшего старшего ненулевого разряда.
Пример вычитания:
1100 (12₁₀)
- 0111 (7₁₀)
------
0101 (5₁₀)
3. Переполнение разряда
При сложении двоичных чисел фиксированной разрядности может возникнуть переполнение — ситуация, когда результат не помещается в отведённое количество битов.
Пример переполнения в 8-битном представлении:
11111111 (255₁₀, максимальное 8-битное)
+ 00000001 (1₁₀)
----------
100000000 (256₁₀ — требуется 9 бит)
Старший бит (девятый) теряется, и в 8-битном регистре остаётся 00000000.
Переполнение обрабатывается флагом CF (Carry Flag) в регистре флагов процессора.
4. Двоичное умножение
Двоичное умножение проще десятичного, так как таблица умножения содержит всего 4 правила:
0 × 0 = 0
0 × 1 = 0
1 × 0 = 0
1 × 1 = 1
Умножение сводится к сдвигу множимого влево и сложению. Умножение на 2ⁿ выполняется сдвигом на n разрядов влево.
Пример: 1011₂ × 101₂
1011
× 101
------
1011 (умножение на 1)
0000 (сдвиг на 1, умножение на 0)
+ 1011 (сдвиг на 2, умножение на 1)
---------
110111
Результат: 1011₂ × 101₂ = 110111₂ (11₁₀ × 5₁₀ = 55₁₀).
5. Связь с процессором
Арифметико-логическое устройство (АЛУ) процессора выполняет все двоичные арифметические операции. Сложение — основная операция; вычитание реализуется через сложение с дополнительным кодом, умножение — через многократное сложение со сдвигом.
Примеры вопросов из тренажёра
-
Q: Чему равно 1101₂ + 1011₂?
A: верный ответ — 11000₂
Объяснение: 1101(13) + 1011(11) = 11000(24). Поразрядно: 1+1=10(0,1 в уме), 0+1+1=10(0,1), 1+0+1=10(0,1), 1+1+1=11.
-
Q: Чему равно 1₂ + 1₂ в двоичной системе?
A: верный ответ — 10₂
Объяснение: 1+1=2, но в двоичной системе нет цифры 2. Результат: 10₂ (0 пишем, 1 переносим в старший разряд).
-
Q: Что такое переполнение разряда?
A: верный ответ — Результат не помещается в отведённое количество битов
Объяснение: Переполнение — ситуация, когда результат операции требует больше битов, чем отведено для его хранения.
-
Q: Чему равно 1100₂ − 0011₂?
A: верный ответ — 1001₂
Объяснение: 1100(12) − 0011(3) = 1001(9). При вычитании 0−1 занимаем из старшего разряда.
-
Q: Какая часть процессора выполняет арифметические операции?
A: верный ответ — АЛУ (ALU)
Объяснение: АЛУ — арифметико-логическое устройство, выполняет сложение, вычитание, умножение и логические операции.