Округление к ближайшему
- 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)