- •Лекция 1: введение. История, предмет, структура информатики
- •Лекция 2: Информация, ее представление и измерение
- •Лекция 3. Информационная безопасность
- •Лекция 4. Системы счисления и действия в них
- •Лекция 5. Высказывания и предикаты
- •Лекция 6. Логические вентили, схемы, структуры
- •Лекция 7. Базовые алгоритмические структуры
- •Лекция 8. Данные, их типы, структуры и обработка
- •Лекция 10. Техническое устройство компьютера
- •Лекция 11. Программное обеспечение
- •Лекция 14. Введение в информационные технологии
- •Интернет
Лекция 4. Системы счисления и действия в них
Рассматриваются основные понятия числовых систем, правила их построения, выполнение действия в них.
Алфавит Х из р символов и правила записи (изображения) и обработки чисел с помощью символов этого алфавита называются системой счисления (нумерацией) с основанием р. Число х в системе с основанием р обозначается как (х)р или хр .
Любая система счисления – это система кодирования числовых величин (количеств), позволяющая выполнять операции кодирования и декодирования, то есть по любой количественной величине однозначно находить его кодовое представление и по любой кодовой записи – восстанавливать соответствующую ей числовую величину.
Все системы счисления строятся по общему принципу: определяется величина р – основание системы, а любое число х записывается в виде комбинации степеней веса р от 0-й до n-й степени следующим образом:
(x)10 = xnpn + xn–1pn–1 + ... + x1p1 + x0p0 .
Наиболее используемые в информатике системы счисления, кроме, естественно, десятичной, – это: 1) двоичная, над алфавитом Х = {0,1} ; 2) восьмеричная, над Х = {0, 1, 2, 3, 4, 5, 6, 7} ; 3) шестнадцатеричная, над Х = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D, Е, F}, где символы А, В, С, D, Е, F имеют, соответственно, десятичные веса 10, 11, 12, 13, 14, 15.
Пример. 11012 = 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = 8 + 4 + 1 = 1310 ,
1578 = 1 x 82 + 5 x 81 + 7 x 80 = 64 + 40 + 7 = 11110 ,
A6F16 = 10 x 256 + 6 x 16 + 15 x 1 = 267110 .
Практика. Перевод в 10-ую систему, целые числа
727(8) = 471
324(8) = 212
125(8) = 85
321(8)= 209
AA(16) = 170
BCD(16)= 3021
DDF(16) = 3551
1100(2) = 12
10010(2) = 18
111010(2) = 58
В большинстве систем счисления вес цифры (или символа алфавита) зависит от ее места в записи числа или слова. Такая система счисления называется позиционной ; в противном случае система называется непозиционной.
Пример. Непозиционная система – древняя римская система записи чисел с алфавитом вида Х={I (1), V (5), Х (10), L (50), С (100), D (500), М (1000)}, где в скобках указаны веса символов (не зависящие от позиции символа). Примеры римских чисел (в скобках – обычные десятичные эквиваленты): III (3), IV (4), V (5), VI (6), IX (9), XI (11), DCL (650). Запись числа в этой системе получается двусторонней конкатенацией, причем правая конкатенация ассоциируется с добавлением, а левая конкатенация – с убавлением (например, IV и VI ). Поразрядное же выполнение арифметических операций не имеет места (например, XIV + IV = XVIII ).
Для изображения десятичных дробей используется подобная формула разложения по степеням основания.
Пример. 110,0012 = 1x22 + 1 x 21 + 0 x 20 + 0 x 2-1 + 0 x 2-2 + 1 x 2-3 = 6,12510 ;
A,B16 = A x 160 + B x 16-1 = 10 x 1 + 11 x 0,0625 = 10,687510 .
Практика. Перевод в 10-ую систему, дробные числа
357,12(8) = 239,1563
471,47(8) =313, 6094
121,7(8) =81,875
AB,CD(16) =171,7669
C23,7F(16) =3107,496
DE,EE(16) =222, 9297
110,111(2) =6,875
001,100(2) =1, 5
11001,11(2) = 25, 75
111,011(2) = 7, 375
Процедура перевода десятичных чисел в р-ную систему счисления:
перевести отдельно целую часть числа х, для чего последовательно делить сперва целую часть [х]10 , а затем все частные (получаемые при делении) на р до тех пор, пока не получим в очередном частном число меньшее р ; изображение [х]p получается последовательным приписыванием к последнему частному остатков от деления – от последнего до первого;
перевести отдельно дробную часть (мантиссу) числа, то есть {x}10 , для чего последовательно умножать сперва исходную мантиссу, а затем мантиссы получаемых чисел на р до тех пор, пока не получим мантиссу, равную нулю, или нужное количество цифр в {х}p ; изображение {х}p получается приписыванием к целой части первого произведения второй такой же цифры и т.д., до последней цифры целой части;
результат будет иметь вид (х)р = [х]p, {х}p .
Пример. Найти: 12,810 = ?2 . Решение:
Переводим целую часть: 1210 =11002;
переводим дробную часть: 0,8 x 2 = 1,6; 0,6 x 2 = 1,2; 0,2 x 2 = 0,4; 0,4 x 2 = 0,8; 0,810 = 0,1100110...2 ;
результат перевода: 12,810 = 1100,1100110011...2 .
Пример. Найдем 29,2510 = ?8 . Решение имеет вид 1) 2910 = 358 ; 2) 0,2510 = 0,28 ; 3) 29,2510 = 35,28 .
Пример. Найдем 79,2610 = ?16 . Решение: 1) 7910 = 4F16 ; 2) 0,2610 = 0,4016 ; 3) 79,2610 = 4F,416 . При переводе дробной части мы ограничились нахождением двух значащих цифр после запятой, ибо перевод точно сделать невозможно.
Для перевода из 2-ной в 8-ную и наоборот, из 2-ной в 16-ную и наоборот, из 8-ной в 16-ную и обратно, используется таблица следующего вида:
ОСНОВАНИЕ СИСТЕМЫ |
|||
10 |
2 |
8 |
16 |
0 |
0 |
000 |
0000 |
1 |
1 |
001 |
0001 |
2 |
— |
010 |
0010 |
3 |
— |
011 |
0011 |
4 |
— |
100 |
0100 |
5 |
— |
101 |
0101 |
6 |
— |
110 |
0110 |
7 |
— |
111 |
0111 |
8 |
— |
— |
1000 |
9 |
— |
— |
1001 |
10 |
— |
— |
1010 |
11 |
— |
— |
1011 |
12 |
— |
— |
1100 |
13 |
— |
— |
1101 |
14 |
— |
— |
1110 |
15 |
— |
— |
1111 |
При переводе в 8-ную систему или из нее необходимо группировать в тройки биты, а при переводе в 16-ную или из нее – группировать их в четверки битов. Можно добавлять, если нужно, незначащие нули (слева от целой части и справа от мантиссы) или отбрасывать их.
Пример. Рассмотрим переводы в смешанных системах.
Из 2-ной системы в 8-ную (двоично-восьмеричное изображение):
из 8-ной системы в 2–ную (восьмерично-двоичное изображение):
из 2-ной системы в 16-ную (двоично-шестнадцатеричное изображение):
из 16-ной системы в 2-ную (шестнадцатерично-двоичное изображение):
Практика: Синие цифры даны, остальные посчитать
10 ->p ЦЕЛОЕ = частное от деления на p (значения в обратном порядке) ДРОБНОЕ = целое от умножения ма нтиссы на p(значения в прямом порядке
p->10 число из разряда УМНОЖИТЬ p в степени разряда , для дроби минусовая степень
|
10 |
2 |
8 |
16 |
1 |
87 |
1010111 |
127 |
57 |
2 |
57 |
111001 |
71 |
39 |
3 |
171 |
10101011 |
253 |
AB |
4 |
342 |
101010110 |
526 |
156 |
5 |
737 |
101110001 |
1341 |
2E1 |
6 |
3294 |
110011011110 |
6336 |
CDE |
7 |
54,12 |
110110,0001 |
66,0753 |
36,1 |
8 |
127,2969 |
1111111,0100 |
177,23 |
7F,4С |
9 |
205,6641 |
11001101,1010 |
315,524 |
CD,AA |
10 |
56,17 |
111000,0010 |
70,1270 |
38,28 |
Сложение в двоичной системе счисления осуществляется по правилам
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 (единицу забираем у старшего разряда).
Таблица умножения в двоичной системе счисления имеет вид
0 x 0 = 0, 0 x 1 = 0, 1 x 0 = 0, 1 x 1 = 1.
Таблица деления в двоичной системе счисления имеет вид
0 : 0 = не определено, 1 : 0 = не определено, 0 : 1 = 0, 1 : 1 = 1.
Обратным кодом числа в системе с основанием р называется число в этой системе, получаемое заменой цифры, символа в каждом разряде числа на его дополнение до максимальной цифры в системе (то есть до р – 1 ).
Дополнительный код = обратный код + единица в младшем разряде.
Пример.
10011
двоичное
число,
01100 обратный код этого двоичного числа,
01101 дополнительный код этого двоичного числа;
457 восьмеричное число,
321 дополнительный код ;
А9 шестнадцатеричное число,
57 дополнительный код.
Вычитание с помощью дополнительного кода: найти дополнительный код вычитаемого такой же разрядности, как и уменьшаемое, и сложить этот код с уменьшаемым. Результатом вычитания будет полученная сумма без учета старшего разряда (отбрасывается).
Пример. Выполним вычитание напрямую и через сложение (через дополнительный код ):
