Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы по цифровой схемотехнике.docx
Скачиваний:
67
Добавлен:
10.04.2015
Размер:
965.29 Кб
Скачать

Практическая работа №1

Тема: Кодирование чисел в различных системах счисления.

Цель работы: Закрепить и систематизировать полученные знания по пройденной теме.

Задание: Выполнить действия по вариантам: 1 вариант – чётные по журналу; 2 – вариант нечётные по журналу. 1 вариант: А; 2 вариант: Б

1) Переведите из десятичной системы счисления в двоичную числа:

А) 201210 , 2310, 1510, 8710, 1710, 1310,13210, 24810, 34410, 24510;

Б) 23410, 75610, 33310, 1110, 1310,2510, 13310, 24510, 44510;

2) Переведите из двоичной в восьмеричную числа:

А) 01011101, 00110011111, 110110100, 0011101010;

Б) 10011110, 10011100, 01010011, 111100001.

3) Переведите из шестнадцатеричной системы в двоичную систему число и затем получившееся число в восьмеричное число:

А) (7)16; (9)16; (В)16; (С)16, (12)16; (3В)16; (5F)16;

Б) (8)16; (А)16; (D)16; (Е)16, (2С)16; (3А)16; (6D)16;

4) Сложите многозначные двоичные числа:

А) (100111010)2 и (11011110)2, (10011010)2 и (11001010)

Б) (100011101)2 и (11000011)2, (10010010)2 и (10011010)

5) Умножьте многозначные двоичные числа:

А) 10100 и 10011, 11001 и 00111

Б) 1010000 и 10010, 11001 и 0000111

Дополнительно каждый студент (самостоятельно) рассматривает 2 примера.

Пояснения к работе:

Перевод целых чисел из десятичной системы в двоичную систему мож­но осуществить при помощи многократного деления на 2.

Для записи, например, числа (173)10 в двоичной системе нуж­но найти такие цифры А0, A1,A2, ….,An, равные 0 или 1 чтобы

А02n + A12n-1+ ... + Аn-12 + Аn = 173. (1)

Разделим правую и левую части равенства (1) на 2. Так как Аi равно 0 или 1 то в частном от деления левой части на 2 получим А02 n-1 + A12n-2 + ... + Аn-22 + Аn-1, а в остатке число Аn.

Получившиеся частное и остаток должны соответственно равняться частному и остатку от деления правой части равенства (1) на 2, поэтому An=1;

A02n-1+ A12n-2 + ... +An-22 +An-1 = 86. (2)

Разделим теперь на 2 обе части равенства (2) и приравняем получившиеся частные и остатки. В результате будем иметь:

An-1=0;

A02n-2 +A12n-3+... + An-32+An-2 = 43. (3)

Разделим еще раз на 2 обе части равенства (3) и, сравнив частные и остатки, получим:

An-2=1;

A02n-3 + A12n-4 + ... +An-42 + An-3 = 21.

Аналогичным образом найдем значения остальных цифр Ai. В результате получим: А0 = 1; A1 = 0; А2 = I; А3= 0; А4=1; А5 =1; А6=0; А7=1.

Следовательно, 173 = А027 + А126+ ...+ А62 + А7 = 1*27 + 0* 26 + 1*25+ +0*24+ l*23+l*22 + 0*21 + l*20, т,е. (173)10 = (10101101)2

Таким образом, нахождение двоичных цифр числа сводится к делению соответствующих частных на 2 и нахождению остатков отделения.

Правило перевода чисел из десятичной системы счисления в восьмеричную состоит в делении переводимого числа и получа­ющихся частных на 8. Остатки от деления и последнее частное, которые при этом получаются, и являются искомыми восьмерич­ными цифрами. Иными словами, алгоритм (правило) перевода аналогичен используемому для перевода десятичного числа в дво­ичное, только вместо деления на 2 выполняется деление на 8.

Перевод числа из восьмеричной системы в двоичную и обрат­но очень прост. Чтобы число, записанное в восьмеричной системе счисления, записать в двоичной системе, нужно каждую восьме­ричную цифру заменить тройкой двоичных цифр: (0)8 = (000)2; (1)8 = (001)2; (2)8 = (010)2; (3)8 = (011)2; (4)8 = (100)2; (5)8 = (101)2;(6)8= (110)2;(7)8 = (111)2.

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

Например, двоичное число 11001101 разбивается на следу­ющие группы; 011; 001; 101. Поскольку (011)2= (3)8; (001)2 = (1)8, (101)2 = (5)8, то в восьмеричной системе это будет число 315, т.е. (11001101)2 = (315)8.

При переводе из двоичной системы в шестнадцатеричную дво­ичное число разбивают на группы из четырех цифр каждая. Такие группы называются тетрадами. Тетрады для шестнадцатеричных цифр от 0 до 7 подобны тем группам, что приведены выше для этих же восьмеричных цифр (только добавляется 0 слева). Осталь­ным шестнадцатеричным цифрам соответствуют следующие тетрады:(8)16 = (1000)2; (9)16= (1001)2; (А)16= (1010)2; (В)16 = (1011)2; (С)16= (1100)2; (D)16= (1101)2; (Е)16= (1110)2; (F)16= (1111)2.

Правила и примеры выполнения арифметических

операций с числами, записанными в двоичной системе счислении.

Сложение трех однозначных двоичных чисел производится по

следующим правилам:

(0)2+ (0)2+(0)2=(0)2 (1)2+(1)2+(0)2=(10)2

(1)2+(0)2+(0)2=(1)2 (1)2+ (0)2+(1)2=(10)2

(0)2+ (1)2+(0)2=(1)2 (0)2+ (1)2+(1)2=(10)2

(0)2+ (0)2+(1)2=(1)2 (1)2+ (1)2+(1)2=(11)2

На основании этих равенств, производится сложение многозначных двоичных чисел. Рассмотрим следующий пример:

111 111 - единицы переноса

(101010101)2 - первое слагаемое

+

(1110011)2 - второе слагаемое

________________

(111001000)2

Сложение начинают с разряда единиц (1)2 + (1)2 = (10)2.Ноль записывают под чертой, а единицу переносят в следующий разряд — разряд двоек (надписывают сверху). Переходят к разряду двоек(1)2 + (0)2 + (1)2 = (10)2. Ноль записывают, а единицу перено­сят в разряд четверок. Переходят к разряду четверок: (1)2 + (1)2 + (0)2 = (10)2. Ноль записывают, а единицу переносят в разряд восьмерок. Так, переходя от разряда к разряду (справа налево), постепенно получают все цифры суммы. В десятичной системе счис­ления указанный пример имеет вид: (341)10 + (115)10 = (456)10.

Таблица 1 - Сложение восьмеричных чисел

Первое слагаемое

Второе слагаемое

0

1

2

3

4

5

б

7

0

0

1

2

3

4

5

6

7

1

1

2

3

4

5

6

7

10

2

2

3

4

5

6

7

10

11

3

3

4

5

6

7

10

11

12

4

4

5

6

7

10

11

12

13

5

5

6

7

10

11

12

13

14

6

6

7

10

11

12

13

14

15

7

7

10

11

12

13

14

15

16

Пример сложения двух восьмеричных чисел:

11 — единицы переноса

(3447)8 — первое слагаемое

(7045)8 — второе слагаемое

________

(12514)8

Сложение начинают с разряда единиц: (7)8 + (5)8 = (14)8. Запи­сывают цифру 4 под чертой, а единицу переносят в следующий разряд — разряд восьмерок. Переходят к разряду восьмерок:

(1)8 + (4)8+(4)8 = (5)8 + (4)8 = (11)8.

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

Умножение двоичных и восьмеричных чисел производится ана­логично умножению десятичных чисел. При этом пользуются со­ответствующими таблицами умножения чисел в двоичной (табл. 2) и восьмеричной системах счисления.

Таблица 2 - Умножения двоичных чисел

Сомножители

0

1

0

0

0

1

0

1

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

В вычислительной технике операции вычитания обычно заме­няются операциями сложения. Рассмотрим пример такой замены. Вместо того чтобы из числа 85 вычитать число 37, к числу 85 при­бавляется число 63 = 100 - 37 (дополнительное к 37) и от резуль­тата 148 отнимается единица в старшем разряде. Получается число 48, которое является искомой разностью.

Аналогичным образом можно и в двоичной системе заменить вычитание сложением с использованием дополнительного кода. Саму операцию вычитания можно представить как сложение с отрица­тельным числом.

В вычислительной технике при использовании двоичной сис­темы счисления крайний левый разряд служит для записи знака числа. Для положительного числа в этот разряд записывается 0, а для отрицательного — 1. Записанные таким образом двоичные числа будем называть записанными в прямом коде. Рассмотрим составление дополни­тельного кода к прямому коду отрицательного числа.

Дополнительный код отрицательных двоичных чисел формируется по следу­ющему правилу. Сначала цифры всех раз­рядов кроме знакового инвертируют (вместо 0 записывают 1, а вместо 1 — 0) и в младший разряд добавляют единицу. Если в младшем разряде уже стоит единица, то при этом приходится изменять цифру в следующем, а, возможно, и в более старших разрядах. Например, при вычитании из числа 10110 числа 01101 умень­шаемое представляют как положительное число в прямом коле 010110, а вычитаемое — как отрицательное число, прямой код которого 101101 (полужирным шрифтом выделены цифры знако­вого разряда). Определяют дополнительный код вычитаемого. Сна­чала инвертируют цифры всех разрядов, кроме знакового (резуль­тат 110010), затем прибавляют единицу в младший разряд (110011). Выполняют операцию сложения уменьшаемого (в прямом коде) с вычитаемым (в дополнительном коде):

010110

+

110011

001001

Число 01001 и есть результат вычитания, полученный в пря­мом коде. При сложении цифры знаковых разрядов складывают с отбрасыванием возникающего из этого разряда переноса. В дан­ном примере в результате вычитания получилось положительное число, поскольку в знаковом разряде стоит 0. Это естественно, так как уменьшаемое больше вычитаемого. Если же из меньшего числа вычитать большее, то получается отрицательное число». Убедимся в этом на примере, из числа 01101 (в прямом коде 001101) вычтем 10110. Для этого определим дополнительный кол отрицательного числа 110110: сначала инвертируем цифры всех разрядов, кроме знакового (101001), потом добавим единицу в младший разряд (101010). Выполним сложение уменьшаемого в прямом коде и вычитаемого в дополнительном коде:

001101

+

101010