ответвлено от main/python
comments: дополнительный код
Этот коммит содержится в:
Двоичные данные
assets/numberwheel.jpg
Обычный файл
Двоичные данные
assets/numberwheel.jpg
Обычный файл
Двоичный файл не отображается.
|
После Ширина: | Высота: | Размер: 17 KiB |
25
comments.md
25
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$, что легко видеть на рисунке:
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||
Ссылка в новой задаче
Block a user