- •Кафедра «Прикладная информатика»
- •Введение
- •Самостоятельная работа №1 Системы исчисления
- •Задания для самостоятельной работы
- •Самостоятельная работа №2 Перевод дробных чисел в различные системы исчисления
- •Задания для самостоятельной работы
- •Самостоятельная работа №3 Выполнение арифметических операций в системах счисления
- •Задания для самостоятельной работы
- •Самостоятельная работа №4 Кодирование символьной информации
- •Задания для самостоятельной работы
- •Общие требования к содержанию самостоятельной работе
- •Порядок защиты и ответственность студента за выполнение самостоятельной работы
- •Заключение
- •Список используемых источников
Задания для самостоятельной работы
1. Перевести число в двоичную систему счисления. Выполнить обратный перевод этих чисел.
2. Перевести число в восьмеричную систему счисления. Выполнить обратный перевод этих чисел.
3. Перевести число в шестнадцатеричную систему счисления. Выполнить обратный перевод этих чисел.
Где х=:
для группы «А» ;
для группы «Б» ;
для группы «В» ;
для группы «Г» :
для группы «Д» ;
для группы «Е» ;
n-порядковый номер студента в группе.
Самостоятельная работа №2 Перевод дробных чисел в различные системы исчисления
Цель работы: приобретение практических навыков перевода дробных чисел
Предположим, что правильную дробь, представленную в системе с основанием q, требуется перевести в систему счисления с основанием р. Перевод осуществляется по следующему правилу:
- исходное число умножаем на новое основание р;
- полученная при этом целая часть произведения является первой искомой цифрой;
- дробную часть снова умножаем на основание р и т.д.
Процедура перевода десятичных чисел в р-ную систему счисления:
перевести отдельно целую часть числа х, для чего последовательно делить сперва целую часть [х]10 , а затем все частные (получаемые при делении) на р до тех пор, пока не получим в очередном частном число меньшее р; изображение [х]p получается последовательным приписыванием к последнему частному остатков от деления – от последнего до первого;
перевести отдельно дробную часть (мантиссу) числа, то есть {x}10, для чего последовательно умножать сперва исходную мантиссу, а затем мантиссы получаемых чисел на р до тех пор, пока не получим мантиссу, равную нулю, или нужное количество цифр в {х}p ; изображение {х}p получается приписыванием к целой части первого произведения второй такой же цифры и т.д., до последней цифры целой части;
результат будет иметь вид (х)р = [х]p, {х}p .
Пример 2.1 Перевести число 0,187510 в восьмеричную и шестнадцатеричную системы.
Здесь вертикальная черта отделяет целые части чисел от дробных частей. Результат: 0,187510 = 0,148 = 0,11316.
Пример 2.2 Необходимо перевести дробное число в двоичную систему исчисления 999,3510=1111100111,010112 :
для целой части:
для дробной части:
Задания для самостоятельной работы
Перевести число x10 в двоичную, восьмеричную, а также шестнадцатеричную системы исчисления.
Где х=:
для группы «А» ;
для группы «Б» ;
для группы «В» ;
для группы «Г» ;
для группы «Д» ;
для группы «Е» ;
n-порядковый номер студента в группе. При этом x необходимо округлить до тысячных чисел.
Самостоятельная работа №3 Выполнение арифметических операций в системах счисления
Цель работы: приобретение практических навыков выполнения арифметических операций в двоичной системе счисления
Во всех вышеперечисленных системах исчисления возможны все арифметические операции, к которым мы привыкли в десятичной системе. То есть сложение, вычитание, умножение, деление. Правда на практике, никто не занимается восьмеричной и шестнадцатеричной арифметикой. Это не имеет никакого смысла. А вот арифметика в двоичной системе была подробно проработана.
В двоичной системе исчисления сложение делается точно так же, как и в десятичной. Только нужно помнить, что в этой системе каждый разряд может принимать значение либо 0, либо 1. Берем два двоичных числа и складываем их.
Сложение в двоичной системе счисления осуществляется по правилам:
0 + 0 = 0,
0 + 1 = 1,
1 + 0 = 1,
1 + 1 = 210 = 102 (единица идет в старший разряд).
Вычитания в двоичной системе счисления имеет вид:
0 – 0 = 0,
1 – 0 = 1,
1 – 1 = 0,
0 – 1 = 10 – 1 = 1 (единицу забираем у старшего разряда).
Пример 3.1 Необходимо сложить два числа, представленных в двоичной системе исчисления 10011001110 + 11000101110.
+ |
10011001110 |
11000101110 | |
101011111100 |
Умножение тоже делается так же, как в десятичной системе – столбиком. При этом очевидно, что любое число, умноженное на ноль, дает в результате ноль. А число, умноженное на единицу, дает в результате то же самое число.
Как легко увидеть из примера, умножение в двоичной системе исчисления сводится к сдвигу первого числа влево и сложению, полученных сдвигом чисел. Точно также легко убедиться, что деление в двоичной системе сводится к сдвигу и вычитанию. Это важно при построении вычислительных устройств. Именно поэтому многие простые микропроцессоры не имеют в составе своих команд, команд умножения и деления. Но обязательно, каждый процессор имеет команды сдвига, сложения и вычитания. Если программисту нужно деление, он всегда может составить небольшую программу умножения, используя команды сдвига и сложения.
Пример 3.2 Необходимо умножить два числа, представленных в двоичной системе исчисления 10011001110 * 11000101110.
|
|
x |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
1 |
0 |
1 |
1 |
| |
|
|
|
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
+ |
|
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
|
|
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
|
Как легко увидеть из примера, умножение в двоичной системе исчисления сводится к сдвигу первого числа влево и сложению, полученных сдвигом чисел. Точно также легко убедиться, что деление в двоичной системе сводится к сдвигу и вычитанию. Это важно при построении вычислительных устройств. Именно поэтому многие простые микропроцессоры не имеют в составе своих команд, команд умножения и деления. Но обязательно, каждый процессор имеет команды сдвига, сложения и вычитания. Если программисту нужно деление, он всегда может составить небольшую программу умножения, используя команды сдвига и сложения.
В данной практической работе также необходимо рассмотреть операцию вычитания, заменяя данную операцию сложением, при этом знак положительного числа кодируется цифрой 0, а знак отрицательного – кодируется 1.
Вычитание представляет собой алгебраическое сложение в обратном коде. Положительные числа записываются в прямом коде, а отрицательные – в обратном коде. Обратный код отрицательного числа получается поразрядной заменой в числе нулей на единицы, а единицы на нули.
Обратным кодом числа в системе с основанием р называется число в этой системе, получаемое заменой цифры, символа в каждом разряде числа на его дополнение до максимальной цифры в системе (то есть до р – 1).
Дополнительный код = обратный код + единица в младшем разряде:
10011 →двоичное число,
01100 →обратный код этого двоичного числа,
01101 →дополнительный код этого двоичного числа;
457 →восьмеричное число,
321 →дополнительный код;
А9 →шестнадцатеричное число,
57 →дополнительный код.
Пример 3.3 Выполнить сложение двух чисел (83 и 3) в двоичной системе счисления. Оба числа положительные.
Например,
Переведем числа 83 и 3 из десятичной системы счисления в двоичную и уравняем количество разрядов в двоичных числах. Получаем:
Цифра 0. в знакомом разряде означает, что число положительное.
Произведем сложение двоичных чисел:
0.1 010 011
0.0 000 011
_________
0.1 010 110
Число, полученное в результате сложения, - положительное. Значит оно записано в прямом коде. Переведем это число в десятичную систему счисления и получаем 86.
Пример 3.4 Выполнить сложение двух чисел (83 и -3) в двоичной системе счисления. Первое число – положительное, второе – отрицательное.
Представим число –3 в обратном коде:
Произведем сложение:
0.1 010 011
1.1 111 100
___________
10 .1 001 111
Знаковый разряд содержит две цифры 1 и 0. Это значит, что произошло переполнение знакового разряда. Т.к. знаковый разряд сможет содержать только одну цифру 0 или 1. Поэтому 1, стоящую в знаковом разряде, нужно перенести в младший разряд и снова произвести сложение, т. е.
0.1 001 111
1
__________
0.1 010 000
В знаковом разряде стоит цифра 0. Это значит, что полученное число положительное и записано в прямом коде. Поэтому переведем число из двоичной системы счисления в десятичную. Получим 80.
Пример 3.5 Выполнить сложение двух чисел (-83 и -3) в двоичной системе счисления. Оба числа – отрицательные.
Поскольку, оба числа отрицательные, то и представим оба числа в обратном коде.
Произведем сложение в двоичной системе счисления:
1.0 101 100
1.1 111 100
____________
11.0 101 000
Поскольку знаковый разряд содержит две цифры, то произошло переполнение знакового разряда. Поэтому крайнюю левую 1 переносим в младший разряд и снова произведем сложение:
1.0 101 000
1
__________
1.0 101 001
Переведем это число в прямой код (т. к. знаковый разряд содержит цифру 1), а затем в десятичную систему счисления.
Сложение и умножение в 8-ричной системе выполняется согласно таблице 3 и 4:
Таблица 1 – Результаты сложения в восьмеричной системе
+ |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
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 |
И |
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 |
Таблица 2 – Умножение в восьмеричной системе
X |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
2 |
0 |
2 |
4 |
6 |
10 |
12 |
14 |
16 |
3 |
0 |
3 |
6 |
11 |
14 |
17 |
22 |
25 |
4 |
0 |
4 |
10 |
14 |
20 |
24 |
30 |
34 |
5 |
0 |
5 |
12 |
17 |
24 |
31 |
36 |
43 |
6 |
0 |
6 |
14 |
22 |
30 |
36 |
44 |
52 |
7 |
0 |
7 |
16 |
25 |
34 |
43 |
52 |
61 |