IEEE 754

Двоичное представление числа с плавающей точкой

Десятичное число с плавающей точкой

Нашли ошибку или хотите предложить улучшение?

Улучшить калькулятор «IEEE 754»

Теория

Стандарт IEEE 754 описывает хранение вещественных чисел в компьютере: число разбивают на знак, порядок (экспоненту) и мантиссу, как в научной записи \(1{,}m \times 2^e\). Одиночная точность (float) занимает 32 бита, двойная (double) — 64.

Мантисса хранит значащие цифры, экспонента — масштаб. Отсюда и ограничения: не все десятичные дроби представимы точно — \(0{,}1\) в двоичном виде бесконечная периодическая дробь, поэтому \(0{,}1 + 0{,}2 \ne 0{,}3\) в компьютере.

Важно: сравнивать вещественные числа на равенство нужно с допуском, а не оператором \(=\).

Пример с решением

  1. Условие. Найдите 32-битное представление числа 1,5.
  2. Формула. \(1{,}5 = 1{,}1_2 = 1{,}1 \times 2^0\): знак 0, экспонента 0 (со смещением 127), мантисса 1.
  3. Подстановка. Экспонента: \(0 + 127 = 127 = 01111111_2\); мантисса — 1 (единица целой части не хранится).
  4. Вычисление. Биты: 0 01111111 10000000000000000000000.
  5. Ответ. \(1{,}5 = 3FC00000_{16}\) в float32. Калькулятор с числом 1,5 покажет 32- и 64-битное представления.

Главное

  • Состав: знак + экспонента + мантисса.
  • Float — 32 бита, double — 64.
  • Не все дроби представимы точно — сравнивать с допуском.