ДОНСЬКИЙ ДЕРЖАВНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
Кафедра ПМ і ВТ
Пономарев В.С. Красников В.В.
МЕТОДИЧНІ ВКАЗІВКИ
по курсу:
"Організація і функціонування ЕОМ і систем"
Частина I
Арифметичні основи ЕОМ
Ростов-на-Дону
19961. Системи числення.
1.1 Основні поняття і визначення.
Під системою числення розуміється спосіб представлення будь-якого числа за допомогою деякого алфавіту символів, званих цифрами.
Всі системи числення діляться на позиційних і непозиційних.
Непозиційними системами є такі системи числення, в яких кожен символ зберігає своє значення незалежно від місця його положення в числі.
Прикладом непозиційної системи числення є римська система. До недоліків таких систем відносяться наявність великої кількості знаків і складність виконання арифметичних операцій.
Система числення називається позиційною, якщо одна і та ж цифра має різне значення, що визначається позицією цифри в послідовності цифр, що зображає число. Це значення міняється в однозначній залежності від позиції, займаною цифрою, по деякому закону.
Прикладом позиційної системи числення є десяткова система, використовувана в повсякденному житті.
Кількість різних цифр, що вживаються в позиційній системі визначає назву системи числення і називається підставою системи числення, - “ ”.
У десятковій системі використовуються десять цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; ця система має підставою число десять.
Будь-яке число N в позиційній системі числення з підставою може бути представлене у вигляді полінома від підстави :
(1.1)
тут - число, - коефіцієнти (цифри числа),- підстава системи числення (>1).
Прийнято представляти числа у вигляді послідовності цифр:
.
У цій послідовності крапка відокремлює цілу частина числа від дробу (коефіцієнти при позитивних ступенях, включаючи нуль, від коефіцієнтів при негативних ступенях). Крапка опускається, якщо немає негативних ступенів (число ціле).
У ЕОМ застосовують позиційні системи числення з недесятковою підставою: двійкову, восьмеричную, шестнадцатеричную.
У апаратній основі ЕОМ лежать двохпозиційні елементи, які можуть знаходитися тільки в двох станах; одне з них позначається 0, а інше - 1. Тому основною системою числення вживаною в ЕОМ є двійкова система.
Двійкова система числення. Використовується дві цифри: 0 і 1. У двійковій системі будь-яке число може бути представлене у вигляді:
. ,
де або 0, або 1.
Цей запис відповідає сумі ступенів числа 2, узятих з вказаними коефіцієнтами:
Восьмерічная система числення. Використовується вісім цифр: 0, 1, 2, 3, 4, 5, 6, 7. Уживається в ЕОМ як допоміжна для запису інформації в скороченому вигляді. Для представлення однієї цифри восьмеричной системи використовується три двійкові розряди (тріада) (Таб. 1).
Шестнадцатерічная система числення. Для зображення чисел уживаються 16 цифр. Перші десять цифр цієї системи позначаються цифрами від 0 до 9, а старші шість цифр – латинськими буквами: 10–A, 11–B, 12–C, 13–D, 14–E, 15–F. Шестнадцатерічная система використовується для запису інформації в скороченому вигляді. Для представлення однієї цифри шестнадцатеричной системи числення використовується чотири двійкові розряди (тетрада) (Таб. 1).
Таб. 1. Найбільш важливі системи числення.
Двійкова
(Підстава 2)
Восьмерічная
(Підстава 8)
Десяткова
(Підстава 10)
Шестнадцатерічная
(Підстава 16)
Тріади
Тетради
0
1
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Таб. 1. Найбільш важливі системи числення.
Двійкова
(Підстава 2)
Восьмерічная
(Підстава 8)
Десяткова
(Підстава 10)
Шестнадцатерічная
(Підстава 16)
Тріади
Тетради
0
1
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1.2 Переклад чисел з однієї системи числення в іншу.
Переклад чисел в десяткову систему здійснюється шляхом складання статечного ряду з підставою тієї системи, з якої число переводиться. Потім підраховується значення суми.
Приклад.
а) Перевести с.с. (
б) Перевести с.с.
в) Перевести с.с.
.
Переклад цілих десяткових чисел у восьмеричную, шестнадцатеричную і двійкову системи здійснюється послідовним діленням десяткового числа на підставу тієї системи, в яку воно переводиться, до тих пір, поки не вийде приватне менше цієї підстави. Число в новій системі записується у вигляді залишків ділення, починаючи з останнього.
Приклад.
а) Перевести с.с.
181
8
176
22
8
5
16
2
6
Результат .
б) Перевести с.с.
622
16
48
38
16
142
32
2
128
6
14
Результат .
Переклад правильних дробів з десяткової системи числення в двійкову, восьмеричную і шестнадцатеричную системи числення.
Для перекладу правильного десяткового дробу в іншу систему цей дріб треба послідовно умножати на підставу тієї системи, в яку вона переводиться. При цьому умножаються тільки дробові частини. Дріб в новій системі записується у вигляді цілих частин творів, починаючи з першого.
Приклад.
Перевести с.с.
0
3125 8
2
5000 8
4
0000
Результат .
Зауваження. Кінцевому десятковому дробу в іншій системі числення може відповідати нескінченний (іноді періодична) дріб. В цьому випадку кількість знаків в уявленні дроби в новій системі береться залежно від необхідної точності.
Приклад.
Перевести с.с. Точність 6 знаків.
0
6 5 (2
1
3 ( 2
0
6 ( 2
1
2 ( 2
0
4 ( 2
0
8 ( 2
1
6 ( 2
. . .
Результат .
Для перекладу неправильного десяткового дробу в систему числення з недесятковою підставою необхідно окремо перевести цілу частина і окремо дріб.
Приклад. Перевести с.с.
1) Переведемо цілу частина: 2) Переведемо дробову частину:
23
2
22
11
2
1
10
5
2
1
4
2
2
1
2
1
0
0
1252
0
25 2
0
5 2
1
0
Таким чином ; .
Результат: .
Необхідно відзначити, що цілі числа залишаються цілими, а правильні дроби – дробами в будь-якій системі числення.
Для перекладу восьмеричного або шестнадцатеричного числа в двійкову форму досить замінити кожну цифру цього числа відповідним трьохрозрядним двійковим числом (тріадою) (Таб. 1) або чотирьохрозрядним двійковим числом (тетрадою) (Таб. 1), при цьому відкидають непотрібні нулі в старших і молодших розрядах.
Приклад.
а) = ;
П
б) = .
Для переходу від двійкової до восьмеричной або шестнадцатеричной системи поступають таким чином: рухаючись від крапки вліво і управо, розбивають двійкове число на групи по три ( чотири ) розряди, доповнюючи при необхідності нулями крайні ліву і праву групи. Потім тріаду ( тетраду ) замінюють відповідною восьмеричной ( шестнадцатеричной ) цифрою.
Приклад.
а) Перевести с.с.
б) Перевести с.с.
Переклад з восьмеричной в шестнадцатеричную систему і назад здійснюється через двійкову систему за допомогою тріад і тетрад.
Приклад. Перевести с.с.
Результат: .
1.3 Двійкова арифметика.
Правила виконання арифметичних дій над двійковими числами задаються таблицями двійкових складання, віднімання і множення.
Таблиця двійкового
складання
Таблиця двійкового
віднімання
Таблиця двійкового
множення
0+0=0
0+1=1
1+0=1
1+1=10
0–0=0
1–0=1
1–1=0
10–1=1
00=0
01=0
10=0
11=1
При складанні двійкових чисел в кожному розряді проводиться складання цифр доданків і перенесення з сусіднього молодшого розряду якщо він є. При цьому необхідно враховувати, що 1+1 дають нуль в даному розряді і одиницю перенесення в наступний.
Приклад. Виконати складання двійкових чисел:
а) X=1101, Y=101;
одиниці перенесення
1 1
X= 1101
Y=+ 101
X+Y=10010
Результат 1101+101=10010.
б) X=1101, Y=101, Z=111;
1
одиниці перенесення
1 1 1
X= 1101
Y= + 101
Z= + 111
X+Y+Z=11001
Результат 1101+101+111=11001.
При відніманні двійкових чисел в даному розряді при необхідності займається 1 із старшого розряду. Ця займана 1 рівна двом 1 даного розряду.
Приклад. Задані двійкові числа X=10010 і Y=101. Обчислити X–Y.
Результат 10010 – 101=1101.
Множення двійкових чисел проводиться по тих же правилах, що і для десяткових за допомогою таблиць двійкового множення і складання.
Приклад. 1001101=?
1001
101
1001
1001
101101
Результат 1001101=101101.
Ділення двійкових чисел проводиться по тих же правилах, що і для десяткових. При цьому використовуються таблиці двійкового множення і віднімання.
Приклад.
1100.011: 10.01=?
110001.1
1001
– 1001
101.1
1101
1001
1001
– 1001
0
Результат 1100.011:10.01=101.1.
Вправи 1.
1. Перевести наступні числа в десяткову систему числення:
а); б); у); г); д); е) .
2. Перевести наступні числа з с.с в с.с.:
а); б) ; у); г); д).
3. Перевести наступні числа з с.с в с.с. (точність 5 знаків після крапки):
а); б); у); г);
д); е); ж); з).
4. Перевести наступні числа в двійкову систему числення:
а) ; б); у); г).
5. Перевести наступні числа з однієї системи числення в іншу:
а)с.с.;
би)с.с.;
у)с.с.; г)с.с..
6. Перевести наступні числа з однієї системи числення в іншу:
а)с.с.; би)с.с.;
у)с.с.; г)с.с..
7. Задані двійкові числа X і Y. Обчислити X+Y і X–Y, якщо:
а) X=, Y=;
б) X=, Y=;
в) X=, Y=.
8. Задані двійкові числа X і Y. Обчислити X*Y і X/Y, якщо:
а) X=, Y=;
б) X=, Y=;
в) X=, Y=;
г) X=, Y=.
2. Основи машинної арифметики з двійковими числами.
Будь-яка інформація (числа, команди, записи і т. п.) представляється в ЕОМ у вигляді двійкових кодів фіксованої або змінної довжини. Окремі елементи двійкового коду, що мають значення 0 або 1, називають розрядами або бітами. Двійковий код складається з 8 розрядів носить назву байта. Для запису чисел також використовують 32-розрядний формат (машинне слово), 16-розрядний формат (півслово) і 64-розрядний формат (подвійне слово).
2.1 Коди чисел.
У ЕОМ в цілях спрощення виконання арифметичних операцій застосовують спеціальні коди для представлення чисел. Використання кодів дозволяє звести операцію віднімання чисел до арифметичного складання кодів цих чисел. Застосовуються прямою, зворотний і додатковий коди чисел. Прямий код використовується для представлення негативних чисел в пристрої ЕОМ, що запам'ятовує, а також при множенні і діленні. Зворотний і додатковий коди використовуються для заміни операції віднімання операцією складання, що спрощує пристрій арифметичного блоку ЕОМ. До кодів висуваються наступні вимоги:
1) Розряди числа в коді жорстко пов'язані з певною розрядною сіткою.
2) Для запису коду знаку в розрядній сітці відводиться фіксований, строго визначений розряд. Наприклад, якщо за основу представлення коду узятий один байт, то для представлення числа буде відведено 7 розрядів, а для запису коду знаку один розряд.
Прямий код. Прямий код двійкового числа співпадає по зображенню із записом самого числа. Значення знакового розряду для позитивних чисел рівне 0, а для негативних чисел 1.*
Приклад. У разі, коли для запису коду виділений один байт, для числа +1101 прямий код 0,0001101, для числа –1101 прямий код 1,0001101.
Зворотний код. Зворотний код для позитивного числа співпадає з прямим кодом. Для негативного числа всі цифри числа замінюються на протилежні (1 на 0, 0 на 1), а в знаковий розряд заноситься одиниця.
Приклад.
Для числа +1101 прямий код 0, 0001101; зворотний код 0,0001101.
Для числа –1101 прямий код 1, 0001101; зворотний код 1,1110010.
Додатковий код. Додатковий код позитивного числа співпадає з прямим кодом. Для негативного числа додатковий код утворюється шляхом отримання зворотного коду і додаванням до молодшого розряду одиниці.
Приклад.
Для числа +1101:
прямий код зворотний код додатковий код
0,0001101 0,0001101 0,0001101
Для числа –1101:
прямий код зворотний код додатковий код
1,0001101 1,1110010 1,1110011
2.2 Особливості складання чисел в зворотному і додатковому кодах.
При складанні чисел в додатковому коді виникаюча одиниця перенесення в знаковому розряді відкидається.
При складанні чисел в зворотному коді виникаюча одиниця перенесення в знаковому розряді додається до молодшого розряду суми кодів.
Якщо результат арифметичних дій є кодом негативного числа, необхідно перетворити його в прямий код. При цьому зворотний код перетвориться в прямою заміною цифр у всіх розрядах окрім знакового на протилежних. Додатковий код перетвориться в прямій також, як і зворотний, з подальшим збільшенням одиниці до молодшого розряду.
Приклад.
Скласти X і Y в зворотному і додатковому кодах.
а) X= 111, Y= –11;
1) Складемо числа користуючись правилами двійкової арифметики:
X= 111
Y= – 11
X+Y= 100
2) Складемо числа використовуючи коди:
Прямий код
Складання в зворотному коді
Складання в дополни-тельном коді
Xпр=0,0000111
Yпр=1,0000011
Xобр= 0,0000111
Yобр= 1, 1111100
1 0,0000011
+1
(X+Y)обр= 0,0000100
Xдоп= 0,0000111
Yдоп= 1,1111101
1)0,0000100
відкидається
(X+Y)доп= 0,0000100
Оскільки результат складання є кодом позитивного числа (знак 0), то (X+Y)обр=(X+Y) доп=(X+Y) пр .
б) X= –101,Y= –11;
1) Складемо числа користуючись правилами двійкової арифметики:
X= – 101
Y= – 110
X+Y= –1011
2) Складемо числа використовуючи коди:
Прямий код
Складання в зворотному коді
Складання в дополни-тельном коді
Xпр=1,0000101
Yпр=1,0000110
Xобр= 1,1111010
Yобр= 1,1111001
1 1,1110011
+1
(X+Y)обр= 1,1110100
Xдоп= 1,1111011
Yдоп= 1,1111010
1)1,1110101
відкидається
(X+Y)доп= 1,1110101
Оскільки сума є кодом негативного числа (знак 1) те необхідно перевести результати в прямий код:
а) із зворотного коду
(X+Y)обр=1,1110100 (X+Y)пр=1,0001011;
б) з додаткового коду
(X+Y)доп=1,1110101(X+Y) пр=1,0001010+0,0000001=1,0001011.
Таким чином X+Y= 1011 і отриманий результат співпадає із звичайним записом.
2.3 Модифіковані зворотний і додатковий коди.
При переповнюванні розрядної сітки, відбувається перенесення одиниці в знаковий розряд. В цьому випадку позитивне число, що вийшло в результаті арифметичної операції може сприйматися як негативне, оскільки в знаковому розряді “1”.
Наприклад: X=0,1010110
Y=0,1101000
X+Y=1,0111110
Тут X і Y – коди позитивних чисел, але ЕОМ сприймає результат їх складання як код негативного числа (“1” в знаковому розряді). Для виявлення переповнювання розрядної сітки вводяться модифіковані коди.
Модифікований зворотний код – в нім під знак числа відводиться не один, а два розряди. Форма запису чисел в модифікованому зворотному коді виглядає таким чином:
1) для позитивного числа
X=; X=;
2) для негативного числа
X=; X=;
(позначення читається “не X”, тобто, якщо X=0, то =1 і навпаки, якщо X=1, то =0).
Будь-яка інша комбінація (“01” або “10”), що вийшла в знакових розрядах служить ознакою переповнювання розрядної сітки. Складання чисел в модифікованому зворотному коді нічим не відрізняється від складання в звичайному зворотному коді.
Розглянемо попередній приклад, виконавши складання в модифікованому зворотному коді:
X=00,101011
Y=00,110100
X+Y=01,011111
У ЕОМ в процесі роботи обидва знакові розряди порівнюються. У разі появи ознаки переповнювання машина зупиняється.
Модифікований додатковий код також розглядає два знакові розряди, а у всьому остальном нічим не відрізняється від звичайного додаткового коду, тобто:
1) для позитивного числа
X=; X=;
2) для негативного числа
X=; X=+0,000 . . . 1;
Приклад. Дано два числа: X=101001 і Y= –11010. Скласти їх в додатковому і модифікованому додатковому кодах.
1) Переведемо X і Y в додатковий і модифікований додатковий код:
Звичайний запис
Зворотний код
Додатковий код
X=+0101001
Y=–0011010
Xобр=0,0101001
Yобр=1,1100101
Xдоп=0,0101001
Yдоп=1,1100110
Звичайний запис
Мод. зворотний код
Мод. додатковий код
X=+101001
Y=– 011010
=00,101001
=11,100101
=00,101001
=11,100110
2) Виконаємо складання:
Xдоп= 0,0101001
Yдоп= 1,1100110
1)0,0001111
відкидається
(X+Y)доп= 0,0001111
X= 00,101001
Y= 11,100110
1) 00,001111
відкидається
(X+Y) = 00,001111
Переповнювання немає (у знакових розрядах “00”), тому результати, отримані в звичайному і модифікованому кодах співпадають (X+Y=1111).
Вправи 2.
1) Записати число в прямому, зворотному і додатковому кодах:
а) 11010; би) –11101; у) –101001; г) –1001110.
2) Перевести X і Y в прямій, зворотний і додатковий коди. Скласти їх в зворотному і додатковому кодах. Результат перевести в прямий код. Перевірити отриманий результат користуючись правилами двійкової арифметики.
а) X= –11010;
Y= 1001111;
б) X= –11101;
Y= –100110;
в) X= 1110100;
Y= –101101;
г) X= –10110;
Y= –111011;
д) X= 1111011;
Y= –1001010;
е) X= –11011;
Y= –10101.
3) Скласти X і Y в модифікованому зворотному і модифікованому додатковому восьмирозрядних кодах. У разі появи ознаки переповнювання збільшити число розрядів в кодах і повторити підсумовування. Результат перевести в прямий код і перевірити користуючись правилами двійкової арифметики.
а) X= 10110;
Y= 110101;
б) X= 11110;
Y= –111001;
в) X= –11010;
Y= –100111;
г) X= –11001;
Y= –100011;
д) X= –10101;
Y= 111010;
е) X= –1101;
Y= –111011 .
3. Форми представлення чисел в ЕОМ.
При арифметичній обробці даних як правило застосовуються дійсні числа, оскільки їх діапазон застосування більший.
3.1 Числа з фіксованою крапкою.
Число з фіксованою крапкою має знаковий і цифровий розряди. Фіксована крапка означає, що на етапі конструювання ЕОМ було визначено скільки і які розряди машинного слова відведені під зображення цілої і дробової частин числа. Кома в розрядній сітці може бути зафіксована, в принципі, після будь-якого розряду.
Приклад.
а) Осередок з цілою і дробовою частиною .
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Знак Ціла частина Дробова частина
числа (n розрядів) (m розрядів)
б) Осередок із записом цілого числа.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Знак Цифрові розряди (n)
числа
До достоїнств використання чисел з фіксованою крапкою відносяться простота виконання арифметичних операцій і висока точність зображення чисел. До недоліків – невеликий діапазон представлення чисел.
3.2 Числа з плаваючою крапкою.
Для представлення чисел з плаваючою крапкою (ЧПТ) використовується напівлогарифмічна форма запису числа:
де – підстава системи числення, – порядок числа, – мантиса числа .
Положення крапки визначається значенням порядку . З зміною порядку крапка переміщається (плаває) вліво або управо.
Приклад.
Для встановлення однозначності при записі чисел прийнята нормалізована форма запису числа. Мантиса нормалізованого числа може змінюватися в діапазоні: . Таким чином в нормалізованих числах цифра після крапки повинна бути значущою.
Приклад.
ненормалізоване нормалізоване
число число
Для представлення чисел в машинному слові виділяють групи розрядів для зображення мантиси, порядку, знаку числа і знаку порядку:
а) представлення чисел у форматі півслова
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Знак Знак Порядок Мантиса
(4 розряди) (10 розрядів)
б) представлення чисел у форматі слова
0
1
2
3
4
5
6
7
8
9
31
. . .
Знак Знак Порядок Мантиса
(7 розрядів) (23 розряди)
Найбільш типове представлення ЧПТ у форматі слова (32 розряди).
Приклад.
а) Число Азапісиваєтся в осередок таким чином:
0
1
2
3
4
5
6
7
8
9
10
11
31
0
0
0
0
0
0
0
1
1
1
0
0
. . .
0
0
1
2
3
4
5
6
7
8
9
10
11
31
0
0
0
0
0
0
0
1
1
1
0
0
. . .
0
Знак Знак Порядок Мантиса
(7 розрядів) (23 розряди)
б) Число А
0
1
2
3
4
5
6
7
8
9
10
11
12
31
1
0
0
0
0
0
0
1
0
1
1
1
0
. . .
0
0
1
2
3
4
5
6
7
8
9
10
11
12
31
1
0
0
0
0
0
0
1
0
1
1
1
0
. . .
0
Знак Знак Порядок Мантиса
(7 розрядів) (23 розряди)
Максимальним числом уявним у форматі слова буде А.
0
1
2
3
4
5
6
7
8
9
10
11
12
31
0
0
1
1
1
1
1
1
1
1
1
1
1
. . .
1
0
1
2
3
4
5
6
7
8
9
10
11
12
31
0
0
1
1
1
1
1
1
1
1
1
1
1
. . .
1
Зн Зн Порядок Мантиса
Мінімальним числом з можливо уявних у форматі слова буде А
0
1
2
3
4
5
6
7
8
9
10
11
12
31
1
0
1
1
1
1
1
1
1
1
1
1
1
. . .
1
0
1
2
3
4
5
6
7
8
9
10
11
12
31
1
0
1
1
1
1
1
1
1
1
1
1
1
. . .
1
Зн Зн Порядок Мантиса
Мінімальним по модулю, відмінним від нуля і нормализо-ваннам буде А.
0
1
2
3
4
5
6
7
8
9
10
11
12
31
0
1
1
1
1
1
1
1
1
1
0
0
0
. . .
0
0
1
2
3
4
5
6
7
8
9
10
11
12
31
0
1
1
1
1
1
1
1
1
1
0
0
0
. . .
0
Зн Зн Порядок Мантиса
Таким чином числа з плаваючою крапкою дозволяють збільшити діапазон оброблюваних чисел, але при цьому точність зображення чисел визначається тільки розрядами мантиси і зменшується в порівнянні з числами з фіксованою крапкою. При записі числа у форматі слова діапазон уявних чисел буде від до, а точність визначатися мантисою, що складається з 23 розрядів. Точність може бути підвищена шляхом збільшення кількості розрядів мантиси. Це реалізується шляхом представлення чисел з так званою подвійною точністю, тобто число записується в двох підряд елементах пам'яті.
0
1
2
3
8
9
10
31
0
1
31
. . .
. . .
. . .
0
1
2
3
8
9
10
31
0
1
31
. . .
. . .
. . .
Знак Знак Порядок Мантиса
(7 розрядів) (55 розрядів)
3.3 Арифметичні дії над числами з плаваючою крапкою.
При складанні чисел з плаваючою крапкою спочатку зрівнюються порядки доданків, а потім складаються мантиси.
Зрівнювання порядків полягає в тому, що менший порядок числа збільшується до більшого, при цьому відповідно змінюється і мантиса. Мантиси складаються в одному з модифікованих кодів( . Порядком суми є більший порядок. Якщо після складання результат виявляється ненормалізованим, то його нормалізують, змінюючи відповідно і порядок.
Приклад.
Представити числа X і Y у вигляді нормалізованих двійкових чисел з плаваючою крапкою і скласти. Результат перевірити перевівши суму в десяткову систему.
Рішення:
1. Переведемо числа в двійкову с.с. і нормалізує.
X;
Y.
2. Зрівнюємо порядки чисел.
X;
Y.
3. Переводимо мантиси чисел в модифікований додатковий код і складаємо їх.
4. Переводимо результат в прямий код:
5. Представляємо результат у вигляді ЧПТ і нормалізуємо його:
.
Таким чином результат складання: .
При множенні двох чисел з плаваючою точкою їх мантиси перемножуються, а порядки складаються.
У арифметичний-логічному пристрої (АЛУ) ЕОМ операція множення реалізується у вигляді наступної послідовності дій:
1) Мантиси, представлені в прямому коді, перемножуються (при цьому установка десяткової крапки відбувається як і при нормальному множенні шляхом підрахунку кількості розрядів після крапки в обох множниках).
2) Порядки складаються із застосуванням зворотного або додаткового кодів.
3) Знаки чисел обробляються спеціальною логікою (що виключає або).
Приклад.
Представити числа X і Y у вигляді нормалізованих двійкових чисел з плаваючою крапкою і перемножити. Результат перевірити перевівши твір в десяткову систему.
Рішення:
1. Переведемо числа в двійкову с.с. і нормалізує.
;
2. Запишемо мантиси у восьмирозрядному прямому коді:
;
.
3. а) Перемножимо мантиси. б) Визначимо знак твору.
Оскільки знаки множників разные (у знакових розрядах 0 і 1 відповідно), то знаком твору буде “– ” (у знаковому розряді буде 1).
Таким чином мантиса твору, записана в прямому коді має вигляд: .
4. Складемо порядки.
.
Таким чином результат множення: .
При виконанні операції ділення чисел з плаваючою крапкою мантису ділимого ділять на мантису дільника, а з порядку ділимого віднімають порядок дільника.
Приклад.
Представити числа і у вигляді нормалізованих двійкових чисел з плаваючою крапкою і обчислити . Результат перевірити перевівши приватне в десяткову систему.
1. Переведемо числа в двійкову с.с. і нормалізує.
X;
Y.
2. Розділимо мантиси і віднімемо порядки.
;
.
Таким чином результат ділення X/Y.
3. Нормалізуємо результат і переводимо в “10” с.с..
X/Y;
X/Y.
У АЛУ ЕОМ, при виконанні операції ділення, ділення мантис і віднімання порядків здійснюється з використанням зворотного або додаткового кодів. Знаки чисел обробляються спеціальною логікою (що виключає або).
Вправи 3.
1. Представити двійкове число в нормалізованому вигляді і записати в осередок( :
а) 110.001;
б) 11100.11;
в) –0.0011111;
г) –0.0000001011;
д) –1110.1011;
е) –0.0110101;
ж) 0.000111;
з) –11100.001 .
2 . Представити десяткове число у вигляді нормалізованого двійкового (точність перекладу – 10 цифр в мантисі нормалізованого числа). Записати число в осередок.
а) –117.375;
б) 94. 6875;
в) 202 .9;
г) –35.325;
д) –0.48;
е) 0.22;
ж) –0.0425;
з) 0.02 .
3 . Перевести десяткові числа X і Y в двійкову с.с. (точність перекладу – 10 цифр в мантисі нормалізованого числа). Записати їх осередки в нормалізованому вигляді. Обчислити суму X і Y (підсумовування мантис проводити в модифікованому додатковому 12-ти розрядному коді). Записати результат в осередок в нормалізованому вигляді. Порівняти результати отримані в десятковій і двійковою с.с..
а) X= –15.25;
Y= 3.75;
б) X= –13.8;
Y= –3.2;
в) X= –0.09;
Y= 0.55;
г) X= –0.04;
Y= –0.26;
д) X= 3.15;
Y= –0.4;
е) X= –0 .03;
Y= –2 .27 .
4. Записати двійкові числа X і Y в нормалізованому вигляді. Обчислити твір XY. (Результат записати в нормалізованому вигляді.
а) X= 10011;
Y= 11.1 ;
б) X= –1110;
Y= 0.0111;
в) X= 0.010101;
Y= 0. 00101;
г) X= –0.001101;
Y= 10. 011;
д) X= 11011.01;
Y= 0.010011;
е) X= 0.00111011;
Y= –0.00011001 .
5. Записати двійкові числа X і Y в нормалізованому вигляді. Обчислити приватне X/Y (при діленні мантис точність – 6 знаків після крапки). Результат записати в нормалізованому вигляді.
а) X= 101101.01;
Y= –101.01;
б) X= 0.000110101;
Y= 0.0000011;
в) X= 0.011011;
Y= –10010.1;
г) X= 0.00001011;
Y= 0.010011;
д) X= –1010.11;
Y= 1100110;
е) X= 100011;
Y= 0. 00101 .
Література.
1. Каган Б.М. Електронні обчислювальні машини і системи. М.: Енергоатоміздат, 1991..
2. Савельев А.Я. Прикладна теорія цифрових автоматів. М.: Вища школа, 1983.
3. Лю Ю-чжен, Гибсон Г. Микропроцессоры сімейства 8086/8088. М.: Радіо і зв'язок, 1987.