Как компьютер хранит отрицательные числа, дроби, очень большие и очень маленькие значения.
Целые хранятся как набор бит фиксированной длины. Отрицательные — в специальном дополнительном коде. Вещественные — в формате IEEE 754 как мантисса × 2порядок.
В главе 14 (Системы счисления) мы научились переводить числа между двоичной, восьмеричной и шестнадцатеричной системами — эти навыки здесь необходимы для понимания кодов.
В главе 29 (Алгебра логики) мы работали с логическими операциями — И, ИЛИ, НЕ, XOR. Здесь мы переходим к железу: как компьютер хранит числа в этих самых битах — целые, отрицательные, дробные.
Цепочка знаний: Двоичная система → Биты → Коды целых → IEEE 754 → Вещественные числа.
Перевод в двоичную — основа кодирования
Отрицательные в дополнительном коде
Вещественные: знак, порядок, мантисса
Как разные типы данных занимают байты в памяти
Измени разрядность и тип — посмотри как меняется диапазон
Стандарт представления float (single) и double
Вещественное число хранится в виде: (−1)s × 1.M × 2(E−bias), где s — знак, M — мантисса, E — смещённый порядок.
| Формат | Битов | Знак s | Порядок E | Мантисса M | Bias | Точность | Диапазон |
|---|---|---|---|---|---|---|---|
| single (float32) | 32 | 1 | 8 | 23 | 127 | ~7 цифр | ~10±38 |
| double (float64) | 64 | 1 | 11 | 52 | 1023 | ~15 цифр | ~10±308 |