- •Методичні вказівки
- •1. Завдання №1
- •1.1 Основні теоретичні відомості
- •Представлення цілих чисел
- •Перевід правильних дробів
- •Представлення неправильних дробів
- •1.2 Порядок виконання завдання
- •1.3 Контрольні запитання
- •2.Завдання №2 Арифметичні операції в позиційних системах числення
- •2.1 Основні теоретичні відомості
- •Методичні вказівки
- •2.2 Порядок виконання завдання
- •2.3 Контрольні запитання
- •Івано-Франківський національний технічний університет нафти і газу
- •Домашня робота №1
Методичні вказівки
У будь-якій р-вій системі числення додавання виконується порозрядно аналогічно складанню десяткових чисел на підставі таблиць складання. Якщо результат складання двох цифр в даному розряді в р-вій системі числення більше, ніж р-1, то відбувається перенесення одиниці в старший розряд.
Приклад 1.
а) Виконати складання двійкових чисел.
X=1101.01, Y=101.11;
-
1101.01
+ 101.11
10011.00
Відповідь:10011.
б) Виконати складання вісімкових чисел.
X=7340, Y=671;
-
7340
+ 671
10231
Відповідь:10231.
в) Виконати складання шістнадцятиричних чисел.
X=FC2, Y=E7;
-
FC2
+ E7
10A9
Відповідь:10a9.
Віднімання в р-вій системі числення також виконується порозрядним стовпчиком по аналогії з десятковою системою числення. Якщо в даному розряді зменшуване число менше за від'ємник, то займається одиниця із старшого розряду. У двійковій системі числення займана одиниця із старшого розряду дорівнює двом одиницям даного розряду.
Приклад 2.
а) Задані двійкові числа X=10010 і Y=101.1. Обчислити X–Y.
-
10010.0
– 101.1
01100.1
Відповідь: 1100.1.
б) Задані вісімкові числа X=7631 і Y=456. Обчислити X–Y.
-
7631
– 456
7153
Відповідь: 7153.
в) Задані шістнадцятиричні числа X=1998 і Y=A1F. Обчислити X–Y.
-
1998
–A1F
F79
Відповідь: F79.
Множення двох багатозначних чисел в р-вій системі числення також виконується по тих же правилах, що і в десятковій системі з послідовним множенням цифр першого співмножника на другий співмножник за допомогою таблиць множення і складання. Якщо складати доводиться більше трьох доданків, то складання доцільно проводити послідовно для уникнення помилок.
Приклад 3.
а) Виконати множення двійкових чисел.
X=1101.01, Y=101.11;
-
110100
х 10110
1101
+ 1101
100111
+ 1101
10001111000
Відповідь:10001111000.
б) Виконати множення шістнадцятиричних чисел.
X=FFA.3, Y=D.E;
-
FFA.3
x D.E
DFAE A
+ CFB4 7
DDAF.5 A
Відповідь: DDAF.5A.
При діленні стовпчиком в р-вій системі числення як проміжні обчислення виконуються дії множення і віднімання. Ділення двійкових чисел зводиться до порівняння цих чисел між собою і віднімання з більшого числа менше. Якщо результат ділення не є кінцевим р-вим дробом, то необхідно виділити неперіодичну частку дробу і її період.
Приклад 4
а) Виконати ділення двійкових чисел 110001.1 і 1001.
-
110001.1
1001
– 1001
101.1
1101
– 1001
100 1
– 100 1
0
Відповідь: 101.1.
б) Виконати ділення двійкових чисел 1010 і 11.
-
1010
11
– 11
11.0101.=11.(01)
100
– 11
100
– 11
1
Відповідь: 11.(01).
в) Виконати ділення шістнадцятиричних чисел F127 і 8.
-
F127
8
– 8
1E24.E
71
– 70
12
– 10
27
– 20
70
– 70
0
Відповідь: 1E24.E.
Складання чисел в зворотному і додатковому кодах має лаву особливостей. Якщо результатом арифметичних дій є код негативного числа, то необхідно додатковий код даного числа перетворити в прямий код. При цьому алгоритм перетворення можна виконати як в зворотному, так і прямому порядку.
Приклад 5.
Знайти значення десяткового числа за його додатковим кодом 10010111.
1. З додаткової коди віднімемо одиницю і отримаємо зворотний код.
-
10010111
– 1
10010110
2. Інвертуємо зворотний код і отримаємо модуль негативного числа 01101001.
3. Переведемо набутого значення в десяткову систему числення 011010012=105.
Відповідь: –105.
В процесі операції віднімання, а саме при складанні зменшуваного числа з додатковим кодом від'ємника, виходить одиниця перенесення в знаковому розряді, яка автоматично відкидається, оскільки виходить за межі розрядної сітки. При складанні чисел в зворотному коді виникаюча одиниця перенесу в знаковому розряді додається до молодшого розряду суми коду.
Приклад 6.
а) Скласти X і Y в зворотному і додатковому кодах.
X= 111, Y= –11.
Складемо числа, користуючись правилами двійкової арифметики: X+Y = 111 – 11 = 100.
Складемо числа, використовуючи різні коди.
Прямий код |
Складання у зворотному коді |
Складання у додатковому коді |
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 |
Оскільки результат складання є кодом позитивного числа (знаковий розряд містить нульове значення), то (X+Y)обр=(X+Y) доп=X+Y=100.
Відповідь: 100.
б) Скласти X і Y в зворотному і додатковому кодах.
X= –101,Y= –11.
Складемо числа, користуючись правилами двійкової арифметики X+Y= – 101 –110 = –1011.
Складемо числа, використовуючи різні коди.
Прямий код |
Складання у зворотному коді |
Складання у додатковому коді |
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 |
Оскільки сума є кодом негативного числа (знаковий розряд містить одиницю), то необхідно перевести результати в прямий код.
Із зворотної коди:
(X+Y)обр=1,1110100 (X+Y)пр=1,0001011.
З додаткового коду:
(X+Y)доп=1,1110101 (X+Y)пр=1,0001010+0,0000001=1,0001011.
Таким чином, X+Y= –1011 і отриманий результат збігається із звичайним записом.
Відповідь: –1011.
Оскільки арифметичні дії в мікропроцесорі виконуються в обмеженому числі розрядів, можливі наступні помилки:
-
ліві цифри результату, що виходять за розрядну сітку, виявляються загубленими;
-
при складанні двох позитивних чисел може вийти негативне число, якщо станеться перенесення одиниці в знаковий розряд.
Приклад 7.
Перевірити правильність результату складання чисел 86 і 104, представлених в 8-розрядному знаковому типові.
-
X=86
Xпр=0,1010110
Y=43
Yпр=0,0101011
(X+Y)=86+43=129
(X+Y)обр=1,0000001
Результат: 129
(X+Y)пр = 1,1111111 = -127
Результат складання коду позитивних чисел мікропроцесор сприймає як код негативного числа (одиниця в знаковому розряді).
Відповідь: результат невірний.
Вправи
-
Скласти таблиці складання і множення в трійковій, п'ятірковій і вісімковій системах числення.
-
Задані двійкові числа X і Y. Обчислити X + Y і X – Y, якщо: а) X= Y=; б) X= Y=; в) X= Y=; г) X= Y=.
-
Задані двійкові числа X і Y. Обчислити X * Y і X / Y, якщо: а) X= Y=; б) X= Y=; в) X= Y=; г) X= Y=.
-
Виконати наступні арифметичні дії в трійковій системі счисления: а) 21 + 2.1; б) 21 – 10.2; в) 212 · 1210; г) 10 : 2.
-
Виконати наступні арифметичні дії в п'ятірковій системі счисления: а) 1234 + 4321; би) 4321 – 1234; в) 4321 · 123; г) 4322 : 3.
-
Виконати наступні арифметичні дії у вісімковій системі счисления: а) 1357 + 3157; б) 3751 – 1357; в) 321 · 23; г) 137 : 5; д) 157 + 251; е) 145 – 64; ж) 675 + 274; з) 734 – 251.
-
Виконати наступні арифметичні дії в шістнадцятиричній системі счисления: а) ABC + DEF; б) DEF – ABC; в) ABC · 10A; г) 83E : A; д) B159 + 2551; е) FEED – FACE; ж) B785 + 2C84; з) 834E – 2E5A.
-
Виконати наступні дії з виділенням неперіодичній частці і періоду: а) 112 : 1012; б) 100101012 : 11102; в) 103 : 113; г) 43215 : 35.
-
Записати прямій, зворотний і додатковий коди двійкових чисел в знаковому однобайтовому формате:
а) 11010; б) –11101; в) –101001; г) –1001110.
-
Перевести 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.
-
Записати числа десяткові числа X і Y в прямому, зворотному і додатковому кодах в знаковому однобайтовому форматі.
Знайдіть X+Y X–Y Y–X X–X –Y–Y, X–Y.
а) X = 14, Y = 13; б) X = 15, Y = 12; в) X = 18, Y =11; г) X = 100, Y =28.