Чтобы добавить пояснение, числа с плавающей запятой, хранящиеся в компьютере, ведут себя так, как описано в других публикациях здесь, потому что, как описано, они хранятся в двоичном формате.
Это означает, что если его значение (как компоненты мантиссы, так и экспоненты значения) не является степенью двойки, и не может быть точно представлено.
Некоторые системы, с другой стороны, хранят дробные числа в десятичном виде (например, типы данных SQL Server Decimal и Numeric, а также тип данных Oracle Number), а затем их внутреннее представление является точным для любого числа, являющегося степенью из 10. Но тогда числа, не являющиеся степенями 10, не могут быть точно представлены.