Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Потехин / next !!! с восьм и шестн

.docx
Скачиваний:
20
Добавлен:
16.03.2016
Размер:
89.49 Кб
Скачать

Министерство науки и образования Российской Федерации

ТОМСКИЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ

(ТУСУР)

Кафедра телевидения и управления

(ТУ)

CЛОЖЕНИЕ ЧИСЕЛ СО ЗНАКАМИ В ПРЯМЫХ, ОБРАТНЫХ И ДОПОЛНИТЕЛЬНЫХ КОДАХ

Выполнил: студент гр. 169

______________Волков Р.С.

_________________

Проверил: преподаватель каф. ТУ

______________Потехин В.А.

_________________

Томск

2011

Дано: A=8285 и B=9321, 5222 и 4523, числа в десятичной системе счисления.

Задание:

  • перевести данные числа в двоичную систему счисления;

  • определить для каждого числа его прямой, обратный и дополнительный коды;

  • произвести сложение чисел со знаками в прямых и обратных кодах;

  • произвести сложение чисел со знаками в дополнительных кодах;

  • произвести сложение двоично-десятичных чисел.

Для перевода целых чисел из системы с основанием 10 в систему с основанием 2 необходимо произвести последовательный ряд делений исходного числа на новые основания системы, причем действия производятся в исходной системе счисления. Последовательность остатков, начиная с последнего, дает число в новой системе счисления. Деление производится до тех пор, пока частное не получится меньше основания системы, последнее частное дает старшую степень числа.

A=8285D = 1·213 + 1·26 +1·24 + 1·23 + 1·22 + 1·20 = 10000001011101B

10000001011101B - число 8285, записанное в двоичной системе счисления.

Aпр. =

0

0

1

0

0

0

0

0

0

1

0

1

1

1

0

1

S

Aпр. = 20135O = 205DH

S – знаковый показатель, который ставится в начале двоичного кода;

20135O - число 8285, записанное в восьмеричной системе счисления;

205DH - число 8285, записанное в шестнадцатеричной системе счисления.

Если , то закодированное число положительное; если , то закодированное число отрицательное; если , то - это положительный знак , а  - входит в полученный результат; если , то - это отрицательный знак , а  - входит в полученный результат.

При переходе от двоичной системы счисления к восьмеричной (шестнадцатеричной) знаковый показатель не учитывается. Перевод из двоичной системы счисления в восьмеричную (шестнадцатеричную) осуществляется разбиванием двоичного кода на триады (тетрады), начиная с конца, и согласно кодировке записываем число в восьмеричной (шестнадцатеричной) системеуцатеричную восьмеричнуютему счисленияичную (численияньше основаниясчисления.ия.ледовательный ряд делений исходного числ счисления.

Aобр.=

1

1

0

1

1

1

1

1

1

0

1

0

0

0

1

0

S

Aобр. = 157642O = DFA2H

Aдоп. = Aобр. + 1 - формула, для вычисления дополнительного кода числа.

При сложении двух кодов необходимо учитывать:

- в этом случае пишем в результат сложения, а переносим в следующий столбец.

- в этом случае пишем в результат сложения и переносим в следующий столбец.

S

S

+

Aобр. =

1

1

0

1

1

1

1

1

1

0

1

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

Aдоп.=Aобр.+ 1

1

1

0

1

0

0

0

1

1

0

1

0

0

0

1

1

Aдоп. =

1

1

0

1

0

0

0

1

1

0

1

0

0

0

1

1

S

Aдоп. = 150643O= D1A3H

Сделаем проверку:

S

S

+

Aпр. =

0

0

1

0

0

0

0

0

0

1

0

1

1

1

0

1

Aобр. =

1

1

0

1

1

1

1

1

1

0

1

0

0

0

1

0

S=Aпр.+Aобр.=

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

Сумма прямого и обратного кода одного числа равна 1.

Произведем те же операции при обработке числа B=9321:

B=9321D = 1·213 + 1·210 +1·26 + 1·25 + 1·23 + 1·20 = 10010001101001B

10010001101001 - число 9321, записанное в двоичной системе счисления.

Bпр. =

0

0

1

0

0

1

0

0

0

1

1

0

1

0

0

1

S

22151O - число 9321, записанное в восьмеричной системе счисления;

2469H - число 9321, записанное в шестнадцатеричной системе счисления.

Bобр.=

1

1

0

1

1

0

1

1

1

0

0

1

0

1

1

0

S

Bобр.= 155626O + DB96H

Bдоп. = Bобр. + 1

S

S

+

Bобр. =

1

1

0

1

1

0

1

1

1

0

0

1

0

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

Bдоп.=Bобр.+ 1

1

1

0

1

1

0

1

1

1

0

0

1

0

1

1

1

Bдоп. =

1

1

0

1

1

0

1

1

1

0

0

1

0

1

1

1

S

Bдоп. = 155627O= DB97H

Сделаем проверку:

S

S

+

Bпр. =

0

0

1

0

0

1

0

0

0

1

1

0

1

0

0

1

Bобр. =

1

1

0

1

1

0

1

1

1

0

0

1

0

1

1

0

S=Bпр.+Bобр.=

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

Сумма прямого и обратного кода одного числа равна 1.

Произведем сложение первой пары чисел в дополнительных кодах

A = 1558 (обр.) = 11011012 (обр.) = 11011102 (доп.) = 00100102 (пр.) = 1810

В = 7С16 (доп.) = 11111002 (доп.) = 11110112 (обр.) = 00001002 (пр.) = 410

Возможны 4 комбинации: А+В; А-В; -А+В; -А-В.

А+В

+

Апр

0

0

0

0

1

0

0

1

0

Впр

0

0

0

0

0

0

1

0

0

S=22

0

0

0

0

1

0

1

1

0

Полученное число 00.0010110

А-В

+

Апр

0

0

0

0

1

0

0

1

0

Вдоп

1

1

1

1

1

1

1

0

0

S=14

1

0

0

0

0

0

1

1

1

0

Получили код с «лишней» цифрой в начале, которая отбрасывается: 00.0001110

-А+В

+

Адоп

1

1

1

1

0

1

1

1

0

Впр

0

0

0

0

0

0

1

0

0

S= -14

1

1

1

1

1

0

0

1

0

Обратный код необходимо перевести в прямой: 11.0001101

-А-В

+

Адоп

1

1

1

1

0

1

1

1

0

Вдоп

1

1

1

1

1

1

1

0

0

S= -22

1

1

1

1

1

0

1

0

1

0

Получили код с «лишней» цифрой в начале, которая отбрасывается.

Обратный код необходимо перевести в прямой: 11.0010101

Произведем сложение второй пары чисел в обратных кодах

A = 2078 = 100001112 (пр.) = 011110002 (обр.) = 011110012 (доп.) = 13510

В = С016 = 110000002 (пр.) = 001111112 (обр.) = 010000002 (доп.) = 19210

Возможны 4 комбинации: А+В; А-В; -А+В; -А-В.

А+В

+

Апр

0

0

1

0

0

0

0

1

1

1

Впр

0

0

1

1

0

0

0

0

0

0

S=327

0

1

0

1

0

0

0

1

1

1

Видно переполнение, но число положительное: 0.101000111

Соседние файлы в папке Потехин