ь при перекладі чисел з однієї системи числення в іншу і наступному поданні їх у розрядної сітці машини, а також при отриманні усередині машини чисел, розрядністю більшою, ніж це допустимо, наприклад, при множенні. У цьому випадку число А округлюють, тобто замінюють його машинним числом [A] заданої розрядності. Округлення (Позначимо його знаком ВЁ) називається оптимальним, якщо для будь-якого машинного числа [A] справедливо ВЁ А = [A]. Нехай [A] 1 і [A] 2 - два послідовних машинних числа, тоді при оптимальному округленні дійсне число A таке, що [A] 1 2 замінюється або числом [A] 1 , або числом [A] 2 . Якщо ВЁ А ≤ A, то говорять про округлення по недоліку, якщо ВЁ А ≥ A, то говорять про округлення по надлишку. Округлення називають симетричним, коли ВЁ А = - ВЁ (-А) . Розрізняють три види симетричного округлення.
1. Округлення у напрямку до нуля, коли дійсне число округлюється до найближчого до нуля машинного числа.
2. Округлення у напрямку від нуля, коли округлення здійснюється до машинного числа, лежачого далі від нуля, ніж дійсне число А.
3. Округлення за доповненню, коли округлення здійснюється до найближчого машинного числа.
В якості параметрів, за яким порівнюватимуться способи округлення, доцільно використовувати максимальну величину модуля похибки, тобто max , де = А-[A], і математичне сподівання похибки округлення.
Округлення до нуля або усічення. p> Для конкретності вважаємо, що числа в машині представлені в прямому коді з комою, фіксованою перед старшим розрядом, [A] = а -1 ... a - n (правильна дріб) . Нехай у результаті яких-небудь дій над машинними числами усередині машини сформувалося число [А] ', має k = n + t розрядів. Очевидно, що самий простий спосіб округлення полягає у відкиданні хвоста числа [А] ', який складається з зайвих розрядів, тобто розрядів з номерами а - n -1 , a - n < sub> -2 , ... , a - n - t .
Якщо вважати, що поява чисел з абсолютною величиною А, але різних знаків равновероятно і рівноймовірні всі значення хвоста чисел одного знаку, то математичне очікування похибки в даному випадку дорівнює нулю, тобто = 0. p> Зазвичай ймовірність появи чисел різного знаку при виконанні певної програми не однакова, тому представляє інтерес округлення абсолютних величин, тобто фактично чисел одного знаку.
При діях з числами одного знака похибка усічення носить систематичний характер, що призводить до накопичення похибки. Ця обставина змушує досліджувати інші способи округлення, які розглядаються поки для прямих кодів. p> Округлення від нуля. p> Реалізація даного способу вимагає аналізу хвоста на нуль, потім відкидається хвіст і, якщо відтинає частина не дорівнює нулю, до абсолютної величини частини, що залишилася додається одиниця в молодший розряд. Це додавання може викликати поширення переносів через всі розряди числа, що вимагає в загальному випадку виконання операції додавання для реалізації даного способу округлення. Крім додаткових тимчасових витрат це може призвести до переповнення розрядної сітки. Отже, спосіб складніше в реалізації, хоча основні його характеристики точно такі ж, як і при усіканні.
Округлення по недоліку. p> Реалізація даного способу базується на аналізі знаку округлює числа. Якщо [А] '> 0, то округлення полягає у відкиданні хвоста. Якщо ж [А] ' < 0, то хвіст також відкидається, а до величини частини, що залишилася додається одиниця в молодший розряд, якщо хвіст не дорівнює нулю. Таким чином, реалізація даного способу ще більш ускладнена порівняно зі способом округлення від нуля за рахунок аналізу знака числа [А] ', хоча величина max залишилася при цьому колишньою.
Якщо розглядати округлення чисел тільки одного знак а, то при А '> 0 даний спосіб збігається з урізанням, а при А ' < 0 - з округленням від нуля. Звідси ясно, що він не може конкурувати з урізанням результатів.
Округлення по надлишку. p> Цей спосіб в усьому подібний до попереднього, з тією відмінністю, що додавання одиниці в молодший розряд сохраняемой частини числа здійснюється, коли воно більше нуля і хвіст НЕ дорівнює нулю. При А '<0 хвіст просто відкидається. Характеристики даного способу точно такі ж, як у попереднього, за винятком знака величини, який змінюється на протилежний.
Округлення по доповненню. p> Даний спосіб являє собою об'єднання способів округлення від нуля і до нуля....