Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, <Аноним>, Вы писали:
А>>да, но здесь используется умножение и деление, А>>а нельзя обойтись без них, скажем прибавить или отнять 0.005, А>>а потом просто как-нибудь обнулить то что не нужно
К>Нужно понимать устройство плавающей арифметики. Если коротко, то: нет, "просто как-нибудь" нельзя. К>А ещё замечу, что 0.005 непредставимо в double, поэтому обязательно возникнут погрешности. Где эти погрешности вылезут — нужно смотреть на твои дальнейшие действия.
Исходная задача, есть итерационный алгоритм, и он накапливает погрешность,
надо время от времени можно и на каждом шаге, отбрасывать ненужные знаки после запятой,
я так посчитал, что это начиная от скажем 10^-3, в принципе и 2^-10 меня тоже устроит.
если требования к округлению сместить с десятичной системы в двоичную это поможет
предложить более эффективный алгоритм округления?