Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>не понял, а при чем тут округление?? в моем примере fVal выводится нормально, без округления! да и потом 8,40 можно округлить до 8, но никак не до 8,39...
А>>и почему тогда никакие другие значения fVal так хитро не округляются? почему только 8,40
А>А притом здесь округление, что в ЭВМ используется двоичное представление чисел.
А>Десятичное 8,4 = двоичное 1000,(0110) — периодичесая дробь; т. е. это число непредставимо в виде конечной двоичной дроби, и его приходится округлять до размера разрядной сетки.
А>Таким образом, на деле хранится что-то вроде 1000,011001100110011001100110011, и это округленное число может оказаться чуть больше или меньше исходного.
Мда... проблемма примерно понятно, а как с этим бороться???