# 22.02.2024 / Двоичная арифметика

**Гипотеза:**

Арифметические операции в двоичной системе счисления выполняются по тем же правилам, что и в десятичной системе счисления.

**Сложение в двоичной системе счисления**

В основе сложения чисел в двоичной системе лежит таблица сложения одноразрядных двоичных чисел:

* 0 + 0 = 0
* 0 + 1 = 1
* 1 + 0 = 1
* 1 + 1 = 10

При сложении двух единиц происходит переполнение разряда, и производится перенос в старший разряд. Переполнение наступает тогда, когда величина числа в нём становится равной или большей основания.

Сложение многоразрядных двоичных чисел:

**Вычитание**

В двоичной системе счисления основой вычитания чисел является таблица вычитания одноразрядных двоичных чисел:

```
1 - 0 = 1
1 - 1 = 0
0 - 1 = 1 с заимствованием
```

При вычитании из меньшего числа (0) большего (1) происходит заимствование из старшего разряда.

**Умножение.** В двоичной системе счисления основе умножения чисел лежит таблица умножения одноразрядных двоичных чисел:

| Умножаемое | Умножитель | Результат |
| ---------- | ---------- | --------- |
| 0          | 0          | 0         |
| 0          | 1          | 0         |
| 1          | 0          | 0         |
| 1          | 1          | 1         |

При умножении двоичных чисел производятся операции сложения и умножения по тем же правилам, что и в десятичной системе счисления.

**Деление**

В двоичной системе счисления операция деления выполняется по алгоритму, аналогичному алгоритму выполнения операции деления в десятичной системе счисления.

```
1102112100102
       110
       ---
        11
       110
       ---
        110
        110
       -----
         10010
Проверка:
1 шаг: 1102 = 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0 = 6 * 2^2 + 1 * 2^0 = 610
       112 = 1*2^2 + 1*2^1 + 2^0 = 3 + 2 + 0 = 310
610:310 = 18
2 шаг: 100102 = 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 16 + 0 + 0 + 2 + 0 = 1810
```

**Умножение и деление многоразрядных двоичных чисел:**

```
1102 : 112 = 102
 110    11
 ---
  11
  10
 ---
   0
```

**Проверка:**

```
1 шаг: 1102 = 1*2^2 + 1*2^1 + 0*2^0 = 610
       112 = 1*2^1 + 1*2^0 = 3 + 1 = 310
610:310 = 210

2 шаг: 10₂ = 1*2^1 + 0*2^0 = 2 + 0 = 210
```
