![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Виконати операцію складання A = 37,5 та B = 16,6 у форматі з плаваючою точкою. Точність двійкового подання A і B – п’ять знаків після коми. Очікуване десяткове значення суми – число 54,1.
Подамо A 2 = 100101.10000 та B 2 = 10000.10011 у форматі з плаваючою точкою. Оскільки ці числа позитивні, то у знаковому розряді чисел А та В ставимо 0.
Ціла частина числа А займає 6 бітів, тому порядок ра = 610 = 1102.
Ціла частина числа В займає 5 бітів, тому порядок рb = 510 = 1012.
Знак порядків позитивний.
Мантиси чисел дорівнюють значенням інформаційних бітів цілої та дробової частин.
Таким чином, числа A і B у форматі з плаваючою комою виглядають так:
A 2пл = 0 110 0 10010110000
B 2пл = 0 101 0 1000010011.
Порядки доданків різні, тому необхідно вирівняти розрядні сітки мантис. Для цього мантису числа з меншим порядком зсуваємо лінійно вправо на різницю порядків, а порядок цього числа збільшуємо на цю різницю. Для нашого випадку різниця порядків дорівнює 1, тому мантису числа В зсуваємо на 1 біт вправо, а порядок числа B збільшуємо на 1 і маємо:
B 2пл = 0 110 0 01000010011.
Записуємо значення мантис доданків у додатковому коді:
[ma] дк = 0 10010110000 [mb] дк = 0 01000010011.
Тепер порядки у доданків однакові і, отже, порядок суми дорівнює порядку доданків.
С кладаємо значення мантис:
[ma] дк = 0 10010110000
+
[ mb] дк = 0 01000010011
[mf] дк = 0 11011000011
[mf] дк = 0 11011000011
Нуль у знаковому розряді результату вказує на те, що число позитивне.
Запишемо значення суми у форматі з плаваючою комою:
F 2пл = 0 110 0 11011000011.
Таким чином, маємо F 2 = 110110.00011.
Зробимо перевірку, для цього переведемо число F 2 в десятковий код:
F 10 = 1 · 25+1 · 24+0 · 23+1 · 22+1 · 21+0 · 20+0 · 2-1+0 · 2-2+0 · 2-3+1 · 2-4+1 · 2-5 = 32+16+4+2+0,0625+0,0313 = 54,09375.
Оскільки під дробову частину було відведено тільки 5 бітів, наш результат містить похибку. Відносна похибка складає приблизно 6 %.
16.7. Варіанти завдання (частина 2)
Дано десяткове число А:
А = №+К+ 15, №< = 10
А = №+К, 10 <№< 20
А = №+К –10, №> = 20,
де № – номер за списком у журналі групи; К – код спеціальності (1, 2 або 3).
Число В = А – 5.
1. Подати числа А і В у прямому і додатковому кодах.
2. Знайти добуток чисел: А · В, (–А) · В, А · (–В), (–А) · (–В).
Операцію множення виконувати в додатковому коді у форматі з фіксованою та плаваючою точкою. Результат подати в прямому коді, потім перевести в двійковий код і виконати перевірку.
3. Знайти частку від ділення А/В. Операцію ділення виконувати з відновленням і без відновлення залишку у форматі з фіксованою комою. Результат подати в прямому коді, потім перевести в двійковий код і виконати перевірку.
Дата публикования: 2014-12-08; Прочитано: 345 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!