Числа с плавающей точкой (IEEE 754)

Введите число — увидите, как оно хранится в памяти по стандарту IEEE 754: знак, порядок (экспонента) и мантисса. Видно, почему дробные числа не всегда точны. Считается прямо в браузере.

Точность:
00111101110011001100110011001101
знак (1)порядок (8)мантисса (23)
Сохранённое значение0.10000000149011612
Знак0 (плюс)
Порядок (со сдвигом)123 − 127 = -4
Шестнадцатеричный код0x3DCCCCCD
Точно сохранить нельзя: ближайшее значение 0.10000000149011612

Как хранится дробное число

По стандарту IEEE 754 число представляется как знак × мантисса × 2порядок. Первый бит — знак, дальше идёт порядок (для float — 8 бит со сдвигом 127), затем мантисса. Поскольку битов конечное число, многие десятичные дроби (например 0.1) хранятся приближённо — отсюда знаменитое 0.1 + 0.2 ≠ 0.3. Переключите точность на 64 бита (double) — это тип, который использует JavaScript и многие языки по умолчанию.

Поддержать проект