Округление

Материал из «Знание.Вики»

Округле́ние — замена числа на его приближённое значение (с определённой точностью) в определённом разряде, записанное с меньшим количеством значащих цифр[1]. Модуль разности между двумя числами в процессе округления (заменяемое число и заменяющее число) называется ошибкой округления.

Основные методы округления

Разные сферы используют разные методы округления. Во всех этих методах лишние знаки до нужного числа отбрасываются — предшествующее корректируется по тому или иному правилу.

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

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

  • если N+1 знак < 5, то N-й знак сохраняют, а N+1 и все последующие обнуляют;
  • если N+1 знак ≥ 5, то N-й знак увеличивают на единицу, а N+1 и все последующие обнуляют;

Примеры округления:

  1. 11,9 → 12;
  2. -0,9 → −1;
  3. 2,5 → 3;
  4. 57861 → 58000;
  5. 28 → 30

Округление к большему

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

  • 2,6 → 3;
  • −2,6 → 2;

Погрешность округления находится в пределах +1 последнего сохраняемого разряда.

Округление к меньшему

Округление к меньшему работает следующим образом: если обнуляемые знаки не равны нулю, предшествующий знак сохраняют, если число положительное, или увеличивают на единицу, если число отрицательное. В жаргоне экономистов такое явление называется «округление в пользу покупателя/дебитора». Англоязычные источники, учебники по математике, а также Excel обозначают это как «floor» (пол). Например:

  • 2,6 → 2;
  • −2,6 → 3

Погрешность округления — в пределах −1 последнего сохраняемого разряда.

Случайное округление

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

Варианты округления 0,5 к ближайшему целому

Отдельного описания требуют правила округления для специальных случаев, когда (N+1)-й знак = 5[2], а последующие знаки равны нулю. Есть следующие варианты правила округления до ближайшего целого для данного случая:

  • математическое округление — округление всегда в большую сторону (по модулю); предыдущий разряд всегда будет увеличиваться на единицу;
  • округление до ближайшего чётного — число округляют к ближайшему чётному числу соответственно; 2,5 при округлении станет 2, 3,5 станет 4, 1,5 также будет равняться 2;
  • случайное округление — числа округляются в случайном порядке в большую или меньшую сторону, но с равной вероятностью (что используется в статистике);
  • поочередное округление (чередующееся округление) — числа округляются поочередно в большую или меньшую сторону

Математическое округление имеет довольно фатальный недостаток в виде накопления ошибки округления; это приводит к тому, что значения числа или чисел после процедуры округления становятся больше, и это искажает точность. Например: округление до целых денежных сумм или веса предметов. Если в реестрах строк окажутся значения после запятой, что больше 50, то и итоговая сумма станет на 50 больше.

Остальные три варианта как раз и нужны для того, чтобы ошибка округления не сказалась на точности расчётов. При округлении до ближайшего чётного ошибки округления взаимно погашаются (правда, это верно лишь тогда, когда набор округляемых чисел обладает свойствами случайного ряда).

Два последних варианта предполагают, что одна половина данных будет округлена в другую сторону, а другая — в другую, что повысит точность расчётов. Но и у них есть два недостатка:

  • случайное округление требует для каждой строки создавать числа. Для замены каждого числа требуется проводить сложение, деление, умножение и вычитание; если чисел много — то работа с ними сильно замедляется;
  • чередующееся округление требует сохранять «флаг», показывающий в какую из сторон было произведено округление в последний раз и при каждом округлении этот самый «флаг» переключать. Если чисел много, что нагрузка из-за вычислительных процессов возрастает, что также замедляет работу со значениями.

Применение

Округление используется в тех случаях, когда точные вычисления произвести не представляется возможным, или можно дальше работать с некоторой погрешностью. Например, абсолютно точно нельзя указать вес сахара в одной чайной ложке — он будет колебаться в зависимости от того, сколько сахара человек зачерпнул; и в таких случаях делают приписку «приблизительно n грамм сахара».

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

В физике округление применяется для расчёта реальных физических величин, при этом есть определённая специфика применения — расчёт точности идёт до определённой конечной точности, где погрешность будет минимальна[3].

Ссылки и источники

  1. Математика с нуля. Математика с нуля. Дата обращения: 24 марта 2023.
  2. Генри С. Уоррен, мл. Глава 3. Округление к степени 2 // Алгоритмические трюки для программистов = Hacker's Delight. — М.: «Вильямс», 2007. — С. 288. — ISBN 0-201-91465-4..
  3. В. М. Заварыкин, В. Г. Житомирский, М. П. Лапчик. Техника вычислений и алгоритмизация. — Просвещение, 1987. — С. 160.
WLW Checked Off icon.svg Данная статья имеет статус «готовой». Это не говорит о качестве статьи, однако в ней уже в достаточной степени раскрыта основная тема. Если вы хотите улучшить статью — правьте смело!