- •Прокоментувати, як будуються коди цілих чисел в еом.
- •Прокоментувати, як будуються модифіковані коди цілих чисел в еом.
- •Прокоментувати, як будуються коди еом дійсних чисел в форматі з фіксованою комою
- •Прокоментувати, як будуються коди еом дійсних чисел в форматі з плаваючою комою
- •Прокоментувати, як відбуваються операції з числами в форматі з плаваючою комою
- •Відомий код числа в форматі з плаваючою комою d4a3d00016. Визначити природну форму числа.
Прокоментувати, як будуються коди цілих чисел в еом.
Для того, щоб простіше, і, отже, економічніше реалізувати пристрій|устрій| АЛУ застосовують декілька різних кодів чисел. Це пов'язано з тим, що різні операції в ЕОМ простіше реалізуються в різних кодах.
При виконанні арифметичних операцій в ЕОМ застосовують прямий, зворотний і додатковий коди.
Як правило, знак числа визначається в 0-му знаковому розряді: « + » - код 0, « - » - код 1.
Прямий код. У знаковий 0-й розряд поміщається код знаку числа, а в розряди цифрової частини числа — двійковий код його абсолютної величини. Якщо довжина двійкового числа менше ніж виділена комірка – число з лівого краю доповнюється незначущим нулями до довжини комірки.
Наприклад: число -1010002 містить 6 позицій та 1 позиція для знаку, а комірка містить щонайменше 8позицій. Отже до довжини комірки число доповнемо 1-м незначущим нулем:
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
\ знак числа «-» |
|||||||
Зворотний код утворюють інверсією (нулі замінюються одиницями, а одиниці — нулями) всіх цифр двійкового коду абсолютної величини числа, не враховуючи знаковий розряд, розряд знаку – завжди 1.
Наприклад: число -1101112
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
Прямий код |
\ знак числа «-» |
||||||||
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
зворотний |
\ знак числа «-» |
||||||||
Додатковий код утворюють додаванням одиниці до молодшого розряду зворотного коду числа.
Наприклад: число -1101112
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
Прямий код |
\ знак числа «-» |
||||||||
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
інверсія |
\ знак числа «-» |
||||||||
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
додати 1 |
|
\ знак числа «-» |
|
||||||||
Цілі числа в ЕОМ подаються в прямому коді, а від’ємні – в додактовому.
Знайти коди чисел x=-222, y=300, а також їх суму. Перевірити результат
x=-222=-110111102; y=300=1001011002.
-
х – прямий код,
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
зворотний,
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
додатковий
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
-
у – прямий код,
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
Щоб знайти суму х і у додамо додатковий код числа х і прямий у:
-
-222+300
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
Код результату в знаковому розряді має 0, тобто результат – додатне число, отже воно подане в прямому коді. Переведемо результат в десяткове число:
х+у = 10011102=64+8+4+2=78.
Перевірка: -222+300=78.
Знайти коди чисел x=-222, y=135, а також їх суми. Перевірити результат.
x=-222=-110111102; y=135=100001112.
-
х – прямий код,
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
зворотний,
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
додатковий
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
-
у – прямий код,
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
Щоб знайти суму х і у додамо додатковий код числа х і прямий у:
-
-222+135
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
Одиниця, що вийшла за межі розрядної сітки ігнорується. Код результату в знаковому розряді має 1, тобто результат – від’ємне число, отже воно подане в додатковому коді. Переведемо результат в десяткове число:
-
х+у додатковий
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
зворотний,
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
прямий
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
х+у = -10101112=-(64+16+4+2+1)=-87.
Перевірка: -222+135=-87.
