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

Потехин / Дом#1

.doc
Скачиваний:
24
Добавлен:
16.03.2016
Размер:
91.14 Кб
Скачать

Федеральное Агентство по Образованию РФ

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

(ТУСУР)

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

(ТУ)

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

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

______________Верховин В.В.

_________________

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

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

_________________

Томск

2008

Дано: Пары чисел: 1068(обр) и 7С16(доп), 2078 и С016, 876510 и 950010.

Задание:

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

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

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

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

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

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

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

А-В

+

Апр

0

0

1

0

0

0

0

1

1

1

Вобр

1

1

0

0

1

1

1

1

1

1

S= -57

1

1

1

1

0

0

0

1

1

0

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

-А+В

+

Аобр

1

1

0

1

1

1

1

0

0

0

Впр

0

0

1

1

0

0

0

0

0

0

S=57

1

0

0

0

0

1

1

1

0

0

0

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

-А-В

+

Аобр

1

1

0

1

1

1

1

0

0

0

Вобр

1

1

0

0

1

1

1

1

1

1

S= -327

1

1

0

1

0

1

1

0

1

1

1

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

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

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

A = 876510 = 00100010001111012 (пр.)

В = 950010 = 00100101000111002 (пр.)

A+B

+

Апр

0

0

1

0

0

0

1

0

0

0

1

1

1

1

0

1

Впр

0

0

1

0

0

1

0

1

0

0

0

1

1

1

0

0

S= 18265

0

1

0

0

0

1

1

1

0

1

0

1

1

0

0

1

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