Округление к ближайшему
- From
- Vovanius Uryvaeff (2:5020/175.2)
- To
- Max Alekseyev
- Date
- 2002-10-09T18:20:46Z
- Area
- RU.ALGORITHMS
From: "Vovanius Uryvaeff" <micro-s@vniiofi.ru>
Tue Oct 08 2002 14:42, Max Alekseyev wrote to Vlad Golubev:
MA> OS/2 Hi, Vlad !
MA> Replying to a message of Vlad Golubev to Kirill Frolov:
VS>>>> Что значит "Округление к ближайшему" для числа "-0.5" : "-1" или
VS>>>> "0"?
KF>>> round(x) == ceil(x+0.5); --> ответ 0.
VG>> Имхо должно быть указано по избытку или недостатку.
MA> Процитирую соответствующий параграф из "Аппроксиметрики" В.М.Юровицкого:
MA> http://yur.ru/science/computer/appro/monografia.htm
MA> 1.4.1. Округление приближенного числа
MA> Важнейшей операцией в классической системе обработки приближенных чисел
MA> является операция округления, т.е. переход от данного числа к некоему
MA> связанному с ним, но менее точному, с меньшим числом значащих разрядов.
MA> Округление на один разряд сводится к превращению последнего значащего
MA> разряда в незначащий (отбрасывание или замена незначащим нулем). Если
MA> отбрасываемый разряд меньше 5, то больше ничего не делается (округление с
MA> недостатком), а если отбрасываемый разряд превышает 5, то предшествующий
MA> значащий разряд увеличивается на единицу (округление с избытком). Если же
MA> округляемый разряд равен 5, то действует правило: четный предшествующий
MA> разряд не изменяется, а нечетный увеличивается на единицу.
MA> Если операцию округления обозначим через Q, то легко видеть, что
MA> Q(123'00)=12'000, Q(0.3456')=0.346', Q(22.5')=22', Q(11.995')=12.00'.
MA> Важным свойством округления в классической теории приближенных чисел
MA> является равновероятность округления в любую сторону - как с избытком,
MA> так и с недостатком.
MA> Казалось бы, мы имеем очень простую и естественную систему округления.
MA> Увы, компьютерная техника так до сих пор и не смогла освоить этот
MA> алгоритм округления.
Хех.. придумали это еще давно, но делают сие лишь вручную или в теории. А на
машине делают как проще...
Например проверкой "-1го" бита, если он=1 то прибавить к целой части 1.
А программно написать вышеобозначенное нетрудно вроде
EMail send to vovanius<yxo>xakep.ru, please.
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)