comments: дополнительный код

main
Дмитрий Козлюк 7 месяцев назад
Родитель f434c22be6
Сommit ed0834cc73

Двоичные данные
assets/numberwheel.jpg

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 17 KiB

@ -1,9 +1,32 @@
--- ---
title: Комментарии к пособию title: Комментарии к пособию
author: Дмитрий Козлюк author: Дмитрий Козлюк
date: 2022-11-28 date: 2024-10-07
--- ---
## Тема 3
### 5.1
Почему `~9` дает `-10`, а не `-9`?
1. Двоичные числа в компьютере представлены в [дополнительном коде][complement].
2. Если числа представлены $N$ битами, то в дополнительном коде число $(-X)$
представляется как $2^N - X$, что легко видеть на рисунке:
![](assets/numberwheel.jpg)
3. Можно заметить, что `~X` есть то же самое, что `(2**N - 1) - X`,
потому что при вычитании из `11....11` все 0 заменяются на 1 и наоборот.
Итого `~X` имеет то же битовое представление, что и `-(X+1)`.
Иначе это можно видеть из рисунка:
$9$ есть десятое число, если двигаться в сторону положительных,
а $(-10)$ есть десятое число, если двигаться в сторону отрицательных.
[complement]: https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4
## Тема 4 ## Тема 4
### 2.4, 2.5 ### 2.4, 2.5

Загрузка…
Отмена
Сохранить