Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Основні теоретичні відомості




У всіх позиційних системах числення справедливі одні і ті ж закони арифметики і арифметичні операції виконуються по однакових правилах відповідно до складених таблиць додавання і множення. Найбільш простими є таблиці складання і множення в двійковій системі числення.

Таблиця 2.1 - Складання і множення в двійковій системі числення

+       х    
             
             

На підставі даних таблиць можна скласти правила виконання додавання, віднімання і множення над двійковими числами. Операція ділення виконується за допомогою операцій множення і віднімання.

Таблиця 2.2 - Правила виконання арифметичних операцій над двійковими числами

Двійкове складання Двійкове віднімання Двійкове множення
0+0=0 0+1=1 1+0=1 1+1=10 0–0=0 1–0=1 1–1=0 10–1=1 0 0=0 0 1=0 1 0=0 1 1=1

Аналогічним чином можна скласти таблиці складання і множення і виписати правила виконання арифметичних дій для будь-якої р-вой системи числення.

Таблиця 2.3 - Таблиця складання в шістнадцяткової системі числення

+                     A B C D E F
                      A B C D E F
                    A B C D E F  
                  A B C D E F    
                A B C D E F      
              A B C D E F        
            A B C D E F          
          A B C D E F            
        A B C D E F              
      A B C D E F                
    A B C D E F                  
A A B C D E F                    
B B C D E F                     1A
C C D E F                     1A 1B
D D E F                     1A 1B 1C
E E F                     1A 1B 1C 1D
F F                     1A 1B 1C 1D 1E

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

 

Таблиця 2.4 - Таблиця множення в шістнадцяткової системі числення

х                     A B C D E F
                                 
                      A B C D E F
            A C E           1A 1C 1E
          C F       1B 1E       2A 2D
        C       1C       2C       3C
      A F     1E     2D     3C     4B
      C     1E   2A     3C     4E   5A
      E   1C   2A     3F   4D   5B    
                                 
        1B   2D   3F     5A   6C   7E  
A   A   1E     3C     5A   6E     8C  
B   B     2C     4D     6E     8E 9A A5
C   C       3C       6C       9C A8 B4
D   D 1A       4E 5B       8E 9C A9 B6 C3
E   E 1C 2A           7E 8C 9A A8 B6 C4 D2
F   F 1E 2D 3C 4B 5A         A5 B4 C3 D2 E1

 

Обчисленням елементів р-вої таблиці множення є збільшення базової цифри стовпця до числа, що стоїть на одну клітку вище. Очевидно, що будь-яка таблиця складання (множення) через закон комутативності симетрична щодо головної діагоналі.

Будь-яка інформація (дані, команди) представляється вмікропроцесорі у вигляді двійкових кодів. Окремі елементи двійкового коду, що мають значення 0 або 1, називають розрядами або бітами. Тому кожен з однорідних елементів елементу пам'яті комп'ютера, що знаходиться в одному з двох стійких станів і що зберігає один біт двійкової коди називається розрядом. Структурною одиницею представлення двійкової коди є: 8-розрядний формат – байт, 32-розрядний формат – машинне слово, 16-розрядний формат – півслово і 64-розрядний формат – подвійне слово.

Існує два основні типи представлення чисел в комп'ютері – з фіксованою і плаваючою крапкою (комою). Для представлення цілих чисел зазвичай використовується формат з фіксованою крапкою, в якому положення крапки зафіксоване після найправішого розряду. До достоїнств використання формату з фіксованою крапкою відносяться простота виконання арифметичних операцій і висока точність зображення чисел. До недоліків – невеликий діапазон представлення чисел.

В цілях спрощення виконання арифметичних операцій застосовують спеціальні коди для представлення чисел в комп'ютері. Використання код дозволяє звести операцію віднімання чисел до арифметичного складання коду цих чисел. Застосовуються прямий, зворотний і додатковий коди чисел. Прямий код використовується для представлення позитивних і негативних чисел в пристрої комп'ютера, що запам'ятовує. Зворотний і додатковий коди використовуються для заміни операції віднімання операцією складання, що спрощує пристрій арифметичного блоку ЕОМ.

Прямий код двійкового числа збігається по зображенню із записом двійкового числа. Знаковим розрядом зазвичай є старший розряд в розрядній сітці, значення якого для позитивних чисел дорівнює 0, а для негативних чисел 1. Прямий код числа 53 = 1101012 у восьмирозрядному знаковому уявленні має вигляд:

Таблиця 2.5 - Однобайтовий знаковий формат представлення числа

7 розряд (знаковий) 6 розряд 5 розряд 4 розряд 3 розряд 2 розряд 1 розряд 0 розряд
               

 

Домовляємось, що при записі коду знаковий розряд відокремлювати від інших розрядів комою. Наприклад, якщо для запису коду виділений один байт, то для позитивного двійкового числа 1101 прямий код відповідає запису 0,0001101, а для негативного двійкового числа –1101 прямий код 1,0001101.

Операція віднімання процесором комп'ютера замінюється операцією складання зменшуваного числа з додатковим кодом від'ємника. Для отримання додаткової k-розрядного коду негативного числа необхідно:

- модуль числа представити прямим кодом в k двійкових розрядах;

- інвертувати значення всіх біт і таким чином отримати зворотний код початкового числа;

- до отриманого зворотного коду додати одиницю в молодший розряд і тим самим отримати додатковий код початкового числа.

Зворотний і додатковий код позитивного числа збігається з прямим кодом. Додатковий код чисел в 8-розрядному знаковому уявленні буде наступним:

 

Початкове число +13 –13
Прямий код 0,0001101 1,0001101
Прямий код модуля числа 0,0001101 0,0001101
Зворотний код 0,0001101 1,1110010
Додатковий код 0,0001101 1,1110011

 

Комп'ютерна операція складання цілих чисел виконується через елементарні операції, які реалізовані апаратно, такі як аналіз парності числа, збільшення одиниці, множення і ділення на 2.

Число є парним, якщо молодший розряд дорівнює нулю і непарним – інакше, що справедливо і для запису числа в додатковому коді. Множення двійкового числа на 2 відповідає зміщенню його вліво на один розряд, а цілочисельне ділення на 2 – зміщенню управо.

 

Методичні вказівки

У будь-якій р-вій системі числення додавання виконується порозрядно аналогічно складанню десяткових чисел на підставі таблиць складання. Якщо результат складання двох цифр в даному розряді в р-вій системі числення більше, ніж р-1, то відбувається перенесення одиниці в старший розряд.

Приклад 1.

а) Виконати складання двійкових чисел.

X=1101.01, Y=101.11;

 

1101.01
+ 101.11
10011.00

 

Відповідь:10011.

б) Виконати складання вісімкових чисел.

X=7340, Y=671;

 

 
+ 671
 

 

Відповідь:10231.

в) Виконати складання шістнадцятиричних чисел.

X=FC2, Y=E7;

 

FC2
+ E7
10 A9

 

Відповідь:10a9.

Віднімання в р-вій системі числення також виконується порозрядним стовпчиком по аналогії з десятковою системою числення. Якщо в даному розряді зменшуване число менше за від'ємник, то займається одиниця із старшого розряду. У двійковій системі числення займана одиниця із старшого розряду дорівнює двом одиницям даного розряду.

Приклад 2.

а) Задані двійкові числа X=10010 і Y=101.1. Обчислити X–Y.

10010.0
– 101.1
01100.1

 

Відповідь: 1100.1.

б) Задані вісімкові числа X=7631 і Y=456. Обчислити X–Y.

 
– 456
 

 

Відповідь: 7153.

в) Задані шістнадцятиричні числа X=1998 і Y=A1F. Обчислити X–Y.

 
A 1 F
F79

 

Відповідь: F79.

Множення двох багатозначних чисел в р-вій системі числення також виконується по тих же правилах, що і в десятковій системі з послідовним множенням цифр першого співмножника на другий співмножник за допомогою таблиць множення і складання. Якщо складати доводиться більше трьох доданків, то складання доцільно проводити послідовно для уникнення помилок.

Приклад 3.

а) Виконати множення двійкових чисел.

X=1101.01, Y=101.11;

 

 
х 10110
 
+ 1101
 
+ 1101
 

 

Відповідь: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 101.1
   
– 1001  
100 1  
– 100 1  
   

 

Відповідь: 101.1.

б) Виконати ділення двійкових чисел 1010 і 11.

 

   
– 11 11.0101.=11.(01)
   
– 11  
   
– 11  
   

 

Відповідь: 11.(01).

в) Виконати ділення шістнадцятиричних чисел F127 і 8.

 

F127  
– 8 1 E24.E
   
– 70  
   
– 10  
   
– 20  
   
– 70  
   

 

Відповідь: 1E24.E.

Складання чисел в зворотному і додатковому кодах має лаву особливостей. Якщо результатом арифметичних дій є код негативного числа, то необхідно додатковий код даного числа перетворити в прямий код. При цьому алгоритм перетворення можна виконати як в зворотному, так і прямому порядку.

Приклад 5.

Знайти значення десяткового числа за його додатковим кодом 10010111.

1. З додаткової коди віднімемо одиницю і отримаємо зворотний код.

 

 
– 1
 

 

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

 

Результат складання коду позитивних чисел мікропроцесор сприймає як код негативного числа (одиниця в знаковому розряді).

Відповідь: результат невірний.

 

Вправи

1. Скласти таблиці складання і множення в трійковій, п'ятірковій і вісімковій системах числення.

2. Задані двійкові числа X і Y. Обчислити X + Y і X – Y, якщо:
а) X= Y= ;
б) X= Y= ;
в) X= Y= ;
г) X= Y= .

3. Задані двійкові числа X і Y. Обчислити X * Y і X / Y, якщо:
а) X= Y= ;
б) X= Y= ;
в) X= Y= ;
г) X= Y= .

4. Виконати наступні арифметичні дії в трійковій системі счисления:
а) 21 + 2.1; б) 21 – 10.2; в) 212 · 1210; г) 10: 2.

5. Виконати наступні арифметичні дії в п'ятірковій системі счисления:
а) 1234 + 4321; би) 4321 – 1234; в) 4321 · 123; г) 4322: 3.

6. Виконати наступні арифметичні дії у вісімковій системі счисления:
а) 1357 + 3157; б) 3751 – 1357; в) 321 · 23; г) 137: 5;
д) 157 + 251; е) 145 – 64; ж) 675 + 274; з) 734 – 251.

7. Виконати наступні арифметичні дії в шістнадцятиричній системі счисления:
а) ABC + DEF; б) DEF – ABC; в) ABC · 10A; г) 83E: A;
д) B159 + 2551; е) FEED – FACE; ж) B785 + 2C84; з) 834E – 2E5A.

8. Виконати наступні дії з виділенням неперіодичній частці і періоду:
а) 112: 1012; б) 100101012: 11102; в) 103: 113; г) 43215: 35.

9. Записати прямій, зворотний і додатковий коди двійкових чисел в знаковому однобайтовому формате:

а) 11010; б) –11101; в) –101001; г) –1001110.

10. Перевести 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.

11. Записати числа десяткові числа 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.

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...