logo search
AOM / Мельник А

6.4.6. Арифметичні операції над двійковими числами у форматі з рухомою комою

Як вже було показано в попередньому розділі, формат з рухомою комою передбачає на­явність двох частин числа - порядку (Р) та мантиси (М). Числа X та Y, які мають відповідно мантиси Мx та Мy і порядки Рx та Рy, можна представити у вигляді X = Мx 2Рх, Y = Мy 2Pу.

Для забезпечення однозначного і максимально точного представлення чисел при­йнято представляти число з рухомою комою в так званому нормалізованому вигляді. Якщо виконується нерівність 1< |М| < 2 (старший двійковий розряд мантиси дорівнює 1), то відповідно до стандарту ІЕЕЕ-754 вважається, що число представлене в нормалі­зованому вигляді (в багатьох попередніх комп'ютерах нормалізованим вважалося чис­ло, коли 0.5 < |М| < 1). Таким чином, у двійкового нормалізованого числа у форматі з рухомою комою мантиса є двійковим числом, в якому перший розряд рівний одиниці, після якої розміщено дробове число (або лише дробове число, в старшому розряді якого

225

завжди стоїть 1). Потрібно зауважити, що ці твердження відносяться до двійкових чисел у форматі з рухомою комою, основою порядку яких є число 2. Якщо основою порядку є числа 4, 8, 16 і т. д., то в цьому випадку число є нормалізованим, коли ненульовим є його перший розряд в четвірковій, вісімковій або шістнадцятковій системі числення відповід­но. Операція приведення числа до нормалізованого вигляду називається нормалізацією.

При виконанні додавання та віднімання двійкових чисел з рухомою комою порядки операндів вирівнюються, а мантиси додаються. Порядки вирівнюються збільшенням по­рядку меншого операнду до значення порядку більшого операнду. Цей порядок є поряд­ком результату. Щоб при вирівнюванні порядків величина операнда не змінилася, його мантиса одночасно зменшується шляхом зсуву вправо на відповідну збільшенню поряд­ку кількість розрядів. Після виконання вирівнювання порядків виникають додаткові мо­лодші розряди мантиси, які до, або після, додавання відкидаються чи заокруглюються.

Додавання та віднімання двійкових чисел з рухомою комою можна представити ви­разом:

Наведемо приклад:

Мх=1.000 1000; Рх=0110; Му=1.110 1001; Ру=0100.

Оскільки перший операнд більший, порядок числа Yприводиться до порядку числа Х:Му=0.011 1010; Ру=0110.

Далі мантиси додаються:

MS=MX+MY=1.000 1000+0.011 1010 =10.0000010; Ps=0110.

Тепер проводиться нормалізація: Мs =1.000 0001; Ps=0111.

Множення чисел у форматі з рухомою комою описується наступним співвідно­шенням:

При виконанні множення порядки операндів додаються, а мантиси перемножують­ся. Після перемноження мантис виникають додаткові молодші розряди мантиси, які від­кидаються або заокруглюються.

Розглянемо приклад:

Мх=1.000 1000; Рх=0110; Му=1.110 1001; Рy =0100.

Тоді MD=1.000 1000* 1.110 1001=0.111 1011 1100 1000; PD=0110+0100=1010.

Після нормалізації: MD=1.111 0111; PD=1001.

Ділення чисел у форматі з рухомою комою описується наступним співвідношенням:

При виконанні ділення порядки операндів віднімаються, а мантиси діляться.

Розглянемо приклад:

Мх=1.111 1100; Рх=0111; Му=1.100 0000; Ру=0011.

Тоді MD=1.1111100 / 1.100 0000=0.10101; PD=0111-0011=0100.

Після нормалізації: MD=1.0101000; PD=0101.

226