Теория
Стандарт IEEE 754 описывает хранение вещественных чисел в компьютере: число разбивают на знак, порядок (экспоненту) и мантиссу, как в научной записи \(1{,}m \times 2^e\). Одиночная точность (float) занимает 32 бита, двойная (double) — 64.
Мантисса хранит значащие цифры, экспонента — масштаб. Отсюда и ограничения: не все десятичные дроби представимы точно — \(0{,}1\) в двоичном виде бесконечная периодическая дробь, поэтому \(0{,}1 + 0{,}2 \ne 0{,}3\) в компьютере.
Важно: сравнивать вещественные числа на равенство нужно с допуском, а не оператором \(=\).
Пример с решением
- Условие. Найдите 32-битное представление числа 1,5.
- Формула. \(1{,}5 = 1{,}1_2 = 1{,}1 \times 2^0\): знак 0, экспонента 0 (со смещением 127), мантисса 1.
- Подстановка. Экспонента: \(0 + 127 = 127 = 01111111_2\); мантисса — 1 (единица целой части не хранится).
- Вычисление. Биты: 0 01111111 10000000000000000000000.
- Ответ. \(1{,}5 = 3FC00000_{16}\) в float32. Калькулятор с числом 1,5 покажет 32- и 64-битное представления.
Главное
- Состав: знак + экспонента + мантисса.
- Float — 32 бита, double — 64.
- Не все дроби представимы точно — сравнивать с допуском.