Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Білети 2013 еталон19-32.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
273.41 Кб
Скачать
    1. Прокоментувати, як будуються коди цілих чисел в еом.

Для того, щоб простіше, і, отже, економічніше реалізувати пристрій|устрій| АЛУ застосовують декілька різних кодів чисел. Це пов'язано з тим, що різні операції в ЕОМ простіше реалізуються в різних кодах.

При виконанні арифметичних операцій в ЕОМ застосовують прямий, зворотний і додатковий коди.

Як правило, знак числа визначається в 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

\ знак числа «-»


Цілі числа в ЕОМ подаються в прямому коді, а від’ємні – в додактовому.

    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.

    1. Знайти коди чисел 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.