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

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)