Здравствуйте Кирпа В.А., Вы писали:
КВ>Здравствуйте Рек, Вы писали:
КВ>Следуя твоим правилам округления получаем round(-x) != -round(x), хотя функция round() по идее должна быть нечетной. Почему такая особенность для отрицательных чисел.
КВ>Например: Показываем в StatusBare координаты round(x), round(y) и видим
КВ>что при движении мыши влево и вправо от 0. мышка проходит одинаковый путь в пикселах, а в StatusBare не одинаковый. Нехорошо!
КВ> :???:
Вспылил. Был не прав.
Прошу прощения — дурил.
Как я понял, наименьшие ошибки в вычислениях
при округлении получаются, если следовать следующему правилу:
Полуцелые точки округляются в строну ближайшего четного целого числа!
Оказывается это застандартизовано в "IEEE Standard 754-1985"!
Вот здесь гляньте...
http://docs.sun.com/htmlcoll/coll.648.2/iso-8859-1/NUMCOMPGD/ncg_goldberg.html#704
глава "Exactly Rounded Operations".
Спасибо, коллеги!
Не дали заскорузнуть в невежестве!