IEEE 754 с плавающей запятой - почему это работает?

1

Учитывая следующее:

.1 + .2 === .3 // false
1 * .3 === .3 // true

... первое не приводит к 0.3 потому что один или несколько операндов не могут быть точно представлены в плавающей точке с двойной точностью IEEE 754, поэтому результат почти не равен 0.3.

Почему последние true. Это потому, что 0.3 является точно представимым в плавающей точке с двойной точностью IEEE 754?

Теги:
ieee-754
double

1 ответ

1
Лучший ответ

0,3 не является точно представимым, но 1,0. Умножение любого числа на 1, в соответствии с правилами IEEE, должно возвращать исходное значение, которое равно самому себе.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню