diff --git a/assets/numberwheel.jpg b/assets/numberwheel.jpg new file mode 100644 index 0000000..6714ec9 Binary files /dev/null and b/assets/numberwheel.jpg differ diff --git a/comments.md b/comments.md index 39d158a..830e06e 100644 --- a/comments.md +++ b/comments.md @@ -1,9 +1,32 @@ --- title: Комментарии к пособию 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 ### 2.4, 2.5