Способ этот уникальный, очень быстрый и точный, особенно, если понимать его суть. Сначала я приведу сам алгоритм, а потом разъясню, на чём он основан. Самое интересное, как всегда, в конце.
Числа с плавающей запятой представлены в компьютерном оборудовании как дроби с основанием 2 (двоичные). Например, десятичная дробь 0.125 имеет значение 1/10 + 2/100 + 5/1000, и точно так же двоичная дробь 0.001 имеет значение 0/2 + 0/4 + 1/8. Эти две дроби имеют одинаковые значения, единственная реальная разница в том, что первая записана в дробной системе с основанием 10, а вторая - с основанием 2. К сожалению, большинство десятичных дробей не могут быть представлены точно как двоичные дроби. Следствием...