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

Восьмеричная и шестнадцатеричная системы счисления

Пример 1. Выполнить сложение и

вычитание:

 

 

 

1548(10810) и 468(3810);

+

E716(23110) и 2F16(4710)

+

154

Решение

E7

154

E7

46

46

2F

2F

2228

1068

 

11616

Проверка

2228 = 14610; 1068= 7010;

B816

11616=

Пример 2. Выполнить умножение шестнадцатеричных чисел 4B16 и 1C16. Проверить

правильность вычисления.

Решение

Операции умножения и деления восьмеричных и шестнадцатеричных чисел проще выполнить, если

предварительно перевести их в двоичную систему

*

 

 

 

 

*

 

счисления.

 

 

 

 

 

4B

100 1011

 

+ 1C

 

 

 

 

1 1100

 

384

 

 

 

 

1001011

 

4B

 

 

 

 

1001011

 

83416

 

 

 

 

1001011

 

 

 

 

 

 

1000001101002

Ответ: 4B

* 1C

 

8

3

4

 

8

= 834

 

 

16

?

 

 

16

 

25316

 

 

Выполнить

Пример

3

(самостоятельно).

Выполнение арифметических операций в АЛУ микропроцессора

АЛУ – арифметико-логическое устройство.

В основе арифметических операций на компьютере лежат операции сложения и сдвига двоичных чисел.

Операция вычитания заменяется сложением уменьшаемого с дополнительным кодом вычитаемого.

Операции умножения и деления реализуются последовательным выполнением операций сложения и

Операция сложения

При сложении знаковый разряд участвует. Перенос из знакового разряда игнорируется. Пример 1. Используя 8-разрядную сетку сложить

два

 

 

числа

 

 

 

1510

и 1910. Старший разряд

использовать

как

знаковый.

 

1510 = 11112

 

 

1910 = 100112

 

 

 

 

Решение

и

Двоичные коды чисел:

Так

как

оба +числа положительные, то при

сложении используются прямые коды.

0 000 1111пр

Знак +

0 001 0011пр

0 010 0010пр

Проверка

1510 + 1910 =3410

Пример 2. В 8-разрядной сетке сложить два числа –1510 и 1910. Старший разряд использовать

как знаковый.

 

 

Решение

 

 

1910 = 100112

 

 

 

1510

= 11112

 

и

 

Двоичные коды чисел:

 

 

 

 

Получим дополнительный код модуля

отрицательного числа

+

 

 

|–1510|пр = 000

1111пр

 

 

 

 

 

 

|–1510|обр =

111 0000обр

 

 

 

 

 

 

1

 

 

 

 

|–1510|доп = 111 0001доп

 

 

 

Знак –

+

 

 

 

 

 

Выполним сложение:

 

 

 

 

 

1 111 0001доп

 

 

 

 

 

Перенос из знакового разряда игнорируется

0 001 0011пр

 

 

 

 

 

1

 

0 000 0100пр

 

 

 

Проверка

Операция вычитания

При выполнении операции вычитания для второго операнда (вычитаемого) предварительного выполняется операция «Изменения знака числа». Эта операция означает получение дополнительного кода

числа с учетом знакового разряда.

В результате, если вычитаемое было положительным, то оно преобразуется в дополнительный код отрицательного числа. И наоборот, если вычитаемое было отрицательным, то оно преобразуется в прямой код положительного числа.

После проведенного преобразования выполняется операция сложения.

Пример 1. В 8-разрядной сетке выполнить вычитание 19101510. Старший разряд

использовать как знаковый.

 

Решение

 

1910 = 100112

 

1510

= 11112

и

Двоичные коды чисел:

 

 

Выполним для вычитаемого операцию

«Изменения знака числа».

 

 

(1510)пр

= 0

000+1111пр

 

(–1510)обр=

1 111 0000обр

 

1

(–1510)доп = 1 111 0001доп

Выполним сложение: +

0 001 0011пр

1 111 0001доп

Перенос из знакового разряда игнорируется. Результат0 0000100положительныйпр .

Проверка

1910 1510 = 410

Пример 2. В 8-разрядной сетке выполнить

вычитание 1910 – (–1510). Старший разряд использовать как

знаковый.

–|15Решение10|доп = 1 111 00012

Отрицательное число (–1510) записывается на ПК в дополнительном коде

После выполнения для вычитаемого операции «Изменение знака числа» получим:

(–1510)доп= 1 111+0001доп (1510)обр = 0 000 1110обр

1

(1510)пр = 0+ 000 1111пр

Выполним сложение:

0 001 0011пр Результат – положительный.

0 000 1111пр

0 010 0010пр

Анализ переполнения разрядной сетки

В АЛУ микропроцессора всегда осуществляется анализ результата сложения на переполнение.

Переполнение разрядной сетки возникает, когда количество разрядов недостаточно для представления числа. В этом случае старшие разряды теряются, что приводит к искажению результата.

При анализе на переполнение проверяются знаки слагаемых и суммы. Переполнения не будет в двух ситуациях:

1)если знаки слагаемых разные;

2)если знаки слагаемых одинаковые и

Пример 1. В 8-разрядной сетке выполнить сложение

10510

+ 6810. Указать, будет ли возникать

переполнение?

10510 = 11010012

 

6810 = 10001002

 

 

 

Решение

 

 

 

 

 

 

 

 

Двоичные коды чисел:

 

и

Выполним сложение:+

0110 1001пр

0Есть ли переполнение?

Результат

пр

Проверка

17310

10510 + 6810 =Ошибка! 4510

1011012 = 1∙25 + 1∙23 + 1∙22 + 1∙20 =32 + 8 + 4 + 1 = 4510