Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Выполнение операций в обратном и дополнительном кодах





Виконаємо нижчеперелічені операції, з використанням додаткового коду.

а) С=А+В; б) С=А-В; в) С=-А+В; г) С=-А -В;

 

де, А=6510, В=4210

 

1) Представимо числа у двійковій системі числення. А2=1000001, В2=101010

 

2) Виберемо мінімально можливу довжину розрядної сітки, щоб можна було розмістити операнди А і В з урахуванням знакового біта. Пам’ятайте, що довжина розрядної сітки може дорівнювати 1,2 або 4 байти. Для нашого приклада достатньо одного байта (8 двійкових розрядів). Увага! Формат один байт дозволяє представити додаткові коди чисел зі знаком у діапазоні від -12810 до +12710

 

3) З урахуванням довжини розрядної сітки, отримаємо: 6510 = 010000012. Зверніть увагу на те, що нулі, у двійковому поданні числа, додані для доповнення розрядної сітки до восьми біт. Аналогічно: 4210 = 001010102.

 

4) У завданні С=А+В числа додаються додатні, тому представляємо їх у прямому коді. Пам’ятайте! Записи позитивних чисел у всіх кодах однакові й збігаються із прямим кодом.

 

Апр= 0.1000001

Впр= 0.0101010

------------------------

Спр= 0.1101011 - двійкова сума

 

Можна переконатися, що отримана сума це число С= +11010112= +10710

 

0*27+1*26+1*25+0*24+1*23+0*22+1*21+1*20 = 64+32+8+2+1 = 107

 

5) Ми розглянули додавання додатних чисел у комп'ютері. Яким чином здійснюється операція - віднімання? Операція віднімання замінюється додаванням. Наприклад, нехай треба виконати віднімання:

 

С=А-В=65 - 42. Замінимо віднімання операцією додавання, змінивши знак числа В на протилежний: С=А+(-В)= 65 + (-42)=13. Внаслідок зміни знаку, число В стало від’ємним. А від’ємні числа представляються у вигляді ДОДАТКОВОГО КОДУ.

 

- В= - 4210 = - 001010102

 

Додатковий код числа (- В)

 

Вдод = 1.1010101+0.0000001=1.1010110

 

Переконаємося в правильності подання. Сума +65 і -65 повинна скласти нуль:

 

+0.1000001

1.0111111

-----------

(1) 0.0000000

 

Усі вісім біт мають нульове значення. Одиниця переносу (1)зі знакового розряду «відкидається». Це правило дозволяє виконувати віднімання чисел у двійковій системі числення: віднімання заміняється додаванням – знак від’ємника змінюється на протилежний.

 

Ураховуючи вище викладене – виконаємо С=А-В

 

Апр= 0.1000001

 

1 ┐ одиниця переносу зі знакового розряду «губиться»

 

65 Апр = 0.1000001

-42 Вдод = 1.1010110

------- ------------------------

23 Спр= 0.0010111 - двійкова сума

 

Код результату визначеній за значенням знакового розряду.

 

Дії, наведені нижче, у детальних поясненнях не мають потреби.

 

С=-А+В

 

10= - 65; -A2= - 1000001

Апр = 1.1000001; Aдод = 1.0111110 + 0.0000001 = 1.0111111 – виділення розрядів числа іншим кольором не випадково. Зверніть увагу, що двійкове число 01111112 = 6310 є доповненням числа 6510 (10000012) до 12810 (100000002).

Aдод =1.0111111 (-65)10

Впр = 0.0101010 (+42)10

--------------------------

Сдод = 1.1101001

 

Код суми С (додатковий) визначений по знаковому розряду результату двійкового підсумовування. Для одержання прямого коду, у числовій частині додаткового коду «0» поміняємо на «1», а «1» на «0» і до молодшого розряду додамо «1».

 

Спр = 1.0010110 + 0.0000001 = 1.0010111 (-2310).

 

Виконаємо С =-А+(-В).

 

Так, як обоє операнди від’ємні числа то очевидно, що їх необхідно представити у вигляді додаткових кодів.

Aдод =1.0111111 (-65)10

Вдод =1.1010110 (+42)10

-------------------------

Сдод =1.0010101

 

Перетворимо суму в прямий код

Спр=1.1101010 + 0.0000001 = 1.1101011; (-1101011)2 = (-10710)

Date: 2015-09-25; view: 332; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию