Практическая работа №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