Про системы счисления? Да так и загугли
это и ещё пара неочевидных вещей https://proglib.io/p/9-js-questions/
Оно равно не трем, а 0.30000000000000004.
Всё дело в том, что в стандарте IEEE 754 на число выделяется ровно 8 байт(=64 бита), не больше и не меньше. Число 0.1 (одна десятая) записывается просто в десятичном формате. Но в двоичной системе счисления это бесконечная дробь, так как единица на десять в двоичной системе так просто не делится. Также бесконечной дробью является 0.2 (=2/10). Двоичное значение бесконечных дробей хранится только до определенного знака, поэтому возникает неточность
Обсуждают сегодня