Округление к ближайшему

From
Max Alekseyev (2:5015/60)
To
Vlad Golubev
Date
2002-10-08T14:42:24Z
Area
RU.ALGORITHMS
████ OS/2        Hi, Vlad !

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>  Имхо должно быть указано по избытку или недостатку.

Процитирую соответствующий параграф из "Аппроксиметрики" В.М.Юровицкого:
http://yur.ru/science/computer/appro/monografia.htm

===cut===
1.4.1. Округление приближенного числа

Важнейшей операцией в классической системе обработки приближенных чисел является операция округления, т.е. переход от данного числа к некоему связанному с ним, но менее точному, с меньшим числом значащих разрядов. Округление на один разряд сводится к превращению последнего значащего разряда в незначащий (отбрасывание или замена незначащим нулем). Если отбрасываемый разряд меньше 5, то больше ничего не делается (округление с недостатком), а если отбрасываемый разряд превышает 5, то предшествующий значащий разряд увеличивается на единицу (округление с избытком). Если же округляемый разряд равен 5, то действует правило: четный предшествующий разряд не изменяется, а нечетный увеличивается на единицу.

Если операцию округления обозначим через Q, то легко видеть, что Q(123'00)=12'000, Q(0.3456')=0.346', Q(22.5')=22', Q(11.995')=12.00'.

Важным свойством округления в классической теории приближенных чисел является равновероятность округления в любую сторону - как с избытком, так и с недостатком.

Казалось бы, мы имеем очень простую и естественную систему округления. Увы, компьютерная техника так до сих пор и не смогла освоить этот алгоритм округления.
===cut===

Regards,      °°
        Max    ~

--- FleetStreet 1.27.3.8
 * Origin:  (2:5015/60)