77930

Системы счисления. Кодирование информации

Лекция

Информатика, кибернетика и программирование

Система счисления называется позиционной, если одна и та же цифра имеет различные значения, определяемые позицией цифры в последовательности цифр, изображающей число. Количество (Р) различных цифр

Русский

2015-02-05

253 KB

33 чел.

Модуль 1.

АРИФМЕТИКО-ЛОГИЧЕСКИЕ ОСНОВЫ  ИНФОРМАТИКИ

Лекция 2. Системы счисления. Кодирование информации

Содержание лекции

[1] Лекция 2. Системы счисления. Кодирование информации

[2] Содержание лекции

[2.1] Системы счисления

[2.1.1] Позиционные системы счисления

[2.2] Формы представления чисел

[2.3]
Системы счисления, используемые при работе с ЭВМ

[2.4]
Перевод чисел из одной системы счисления в другую

[2.5]
Прямой, обратный и дополнительный коды чисел

[2.5.1] Сложение чисел в прямом и дополнительном коде

[2.6]
Варианты представления информации в ПК

[3] Вопросы для контроля знаний

Системы счисления

Информация в ЭВМ кодируется, как правило, в двоичной или в двоично-десятичной системе  счисления.

Система счисления – это способ наименования и изображения чисел с помощью символов, имеющих определенные количественные значения.

Символы, используемые для записи чисел, называются цифрами. Множество цифр образует алфавит системы счисления. Часто в алфавит входит и знак “,” (запятая).

В зависимости от способа изображения чисел системы счисления делятся на позиционные и непозиционные.

В непозиционной системе значение цифры не зависит от ее положения в записи числа. К таким системам счисления относится, например, римская система счисления.

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

Позиционные системы счисления

Любое число C в позиционной системе счисления с основанием Р может быть представлено в виде полинома:

C= Cn Pn +Cn-1 Pn-1 +…+C1 P1 +C0 P0 +C-1 P-1 +…+C-m P-m ,                     

или

где в качестве Ci  могут стоять любые из Р цифр алфавита, а нижние индексы определяют местоположение цифры в числе (разряд):

положительные значения индексов - для целой части числа (n разрядов);

отрицательные значения - для дробной (m разрядов).

Формы представления чисел

В вычислительных системах применяются две формы представления чисел:

естественная форма, или форма с фиксированной запятой (точкой);

нормальная форма, или форма с плавающей запятой (точкой).

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

                       C = Cn Cn-1 …C1 C0, C-1… C-m                                     

 Запятая опускается, если дробная часть отсутствует. Позиции цифр в такой записи называются разрядами. Разряды нумеруются влево от запятой, начиная с нуля: 0-й,1-й,...(n-1)-й, n-й; и вправо от запятой: 1-й, 2-й,...(m-й).

Значение Ci  цифры ci  в позиционных системах счисления определяется номером разряда:

                       Ci = сi Рi.

Величина Pi  называется весом, или значением, i-го разряда. В позиционных системах счисления значения соседних разрядов отличаются в P раз: левый в P раз больше правого.

Пример 1.  Десятичная система счисления.

Р=10.

Цифры: 0,1,2,3,4,5,6,7,8,9.

723,1910 =7102 +2101 +3100 +110-1 +910-2 .

Пример 2. Двоичная система счисления.

Р=2.

Цифры: 0,1.

101110,1012 = 125 +024 +123 +122 +121 +020 +12-1 +02-2 +12-3 

Эта форма наиболее проста, естественна, но имеет небольшой диапазон представления чисел и поэтому не всегда приемлема в вычислениях.

Максимальное целое число, которое может быть представлено в n разрядах:

   .

Минимальное значащее (не равное 0) число, которое можно записать в m разрядах дробной части:

   .

Имея в целой части числа n, а в дробной части m разрядов, можно записать всего P n+m   разных чисел.

Пример 3. Двоичная система счисления.

Р = 2.

n = 10, m = 6.

Возможное для представления значение N лежит в пределах:

0,015 < N < 1024.

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

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

 ,

 где M - мантисса числа (М <1);

 r - порядок числа (r - целое число);

 P - основание системы счисления.

Пример 4. Приведем несколько равенств: левая часть равенства – число в естественной форме, правая часть – в нормальной форме. Для записи естественной формы используются 5 разрядов в целой части и 5 разрядов в дробной части.

+00721,35500 = +0,721355103;   

+00000,00328 = +0,32810-2;

-10301,20260 = -0,103012026105.

Нормальная форма представления имеет огромный диапазон отображения чисел и является основной в современных ЭВМ.

Пример 5. Диапазон значащих чисел в системе счисления с основанием Р при наличии m разрядов у мантиссы и s разрядов у порядка (без учета знаковых разрядов у порядка и мантиссы) будет:

.

При Р = 2, m = 10 и s = 6 диапазон чисел простирается примерно от 10-19 до  1019. (Сравните примером 3).


Системы счисления, используемые при работе с ЭВМ 

 Двоичная система счисления

Основание Р = 2.

Алфавит включает две двоичные цифры: 0, 1.

Любое число C = Cn Cn-1C1 C0  C-1 C-m   есть сумма степеней числа Р = 2,  

C = Cn 2n +Cn-1 2n-1 +…+C1 21 +C0 20 +C-1 2-1 +…+C-m 2-m          

Пример 6.  101011,112 =125 + 024 + 123 + 022  +121 + 120 +

                      +12-1 + 12-2 = 32+8+2+1+0,5+0,25=43,7510.

Веса разрядов в двоичной системе счисления равны 1, 4, 8,16,... влево от запятой и 0,5; 0,25; 0,125; 0,625;... вправо от запятой.

 Шестнадцатеричная система счисления

При программировании используется также шестнадцатеричная система счисления. Для изображения цифр, больших 9, в шестнадцатеричной системе счисления применяются латинские буквы A, B, C, D, E, F. Изображения первых шестнадцати чисел в десятичной, двоичной и шестнадцатеричной системах счисления приведены в табл. 2.

           Таблица кодов в различных системах счисления                                    Таблица 2

Десятичная система

Двоичная система

Шестнад-цатеричная

система

Десятичная система

Двоичная система

Шестнад-цатеричная система

0

0000

0

8

1000

8

1

0001

1

9

1001

9

2

0010

2

10

1010

А

3

0011

3

11

1011

B

4

0100

4

12

1100

C

5

0101

5

13

1101

D

6

0110

6

14

1110

E

7

0111

7

15

1111

F

 Двоично-десятичная система счисления

Двоично-десятичная система счисления получила большое распространение в современных ЭВМ ввиду легкости перевода в десятичную систему и обратно. Она используется там, где основное внимание уделяется не простоте технического построения машины, а удобству работы пользователя. В этой системе счисления все десятичные цифры отдельно кодируются четырьмя двоичными цифрами.

Пример 7. Десятичное число 9703 в двоично-десятичной системе выглядит так:

1001 0111 0000 0011.

Преимущества двоичной системы счисления над десятичной с точки зрения ЭВМ в следующем:

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

Недостатки  двоичной системы счисления:

  •  большая длина записи чисел;
  •  при вводе и выводе информации требуется перевод в десятичную систему счисления.

Двоичная арифметика

Рассмотрим, как выполняются основные действия в двоичной арифметике.

Сложение  Вычитание  Умножение  Деление 

0 + 0 = 0   0 – 0 = 0              0 х 0 = 0  0 : 1 = 0

0 + 1 = 1  1 – 0 = 1  0 х 1 = 0   1 : 1 = 1

1 + 0 = 1  1 – 1 = 0  1 х 0 = 0

1 + 1 = 10  10 – 1 = 1  1 х 1 = 1

Правила арифметики во всех позиционных системах счисления одинаковы, т.е. сложение, умножение и вычитание начинают с младших разрядов, деление - со старших.

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

Пример 8

Умножение двоичных чисел аналогично умножению десятичных, но т.к. умножаем только на 0 и 1, то умножение сводится к операции сдвига и сложения.

 

Пример 9


Перевод чисел из одной системы счисления в другую 

Сначала рассмотрим перевод из двоичной системы счисления в шестнадцатеричную и наоборот. Это наиболее просто в связи с тем, что 16 = 24.

Правило 1. Для перевода шестнадцатеричного числа в двоичное надо каждую цифру заменить четырехразрядным двоичным числом. Незначащие нули отбросить.

Пример 10

305,416 =0011 0000 0101,01002 =1100000101,012

Правило 2. Для перевода числа из двоичной системы счисления в шестнадцатеричную надо число разбить на четверки влево и вправо от запятой. Крайние группы, если необходимо дополнить нулями. Затем каждую четверку двоичных цифр заменить соответствующей шестнадцатеричной цифрой.

Пример 11

1010111,11011012 =0101 0111,1101 10102 =57,DA16

Рассмотрим общие правила перевода чисел из одной системы счисления в другую. Эти правила зависят от того, в какой системе счисления осуществляются арифметические операции, связанные с преобразованием чисел, - в той, в какой представлено исходное число, или в той, в которую оно переводится.

Правило 3. Задано число С, представленное в системе счисления с основанием S: C = Cn Cn-1C1 C0 C-1 C-m . Нужно перевести его в h-систему, выполняя действия в новой системе счисления.

Для этого нужно представить его в виде суммы степеней S :

C = Cn Sn +Cn-1 Sn-1 +…+C1 S1 +C0 S0 +C-1 S-1 +…+C-m S-m,

где основание S, коэффициенты С и номера разрядов i выражены в новой h-системе. Все действия надо выполнять в h-системе.

Пример 12  

1. Перевести 2Е5,А16  в десятичную систему счисления:

            2Е5,А16 =2 162 +14161 +5160 +1016-1 =741,62510.

2. Перевести 5210 в двоичную систему счисления:

             5210=10110101 +1010100 =110010+10=1101002.

3. Перевести 1101,101 в десятичную систему счисления:

             1101,1012 = 1 23 +1 22 +0 21 +1 20 +1 2-1 +0 2-2+1 2-3 =13,62510.

Этот способ удобен при S < h и особенно для ручного перевода в десятичную систему счисления.

Рассмотрим перевод целого числа С  из S-системы в h-систему в арифметике S-системы счисления.

Правило 4. Для перевода целого числа из S-системы в h-систему счисления в арифметике S-системы нужно последовательно делить это число и получающиеся частные на h до тех пор, пока частное не станет меньше h. Старшей цифрой в новой записи числа будет последнее частное, а следующие за ней цифры дают остатки, вписанные в последовательность, обратную их получению. Все вычисления производятся в старой S-системе. (При S<h прежде, чем записать число, надо получившиеся остатки переписать в цифры h-системы).

Приме 13

1. Перевести число 70 в двоичную систему счисления


Прямой, обратный и дополнительный коды чисел 

В ЭВМ с целью упрощения арифметических операций применяют специальные коды для представления чисел. При помощи этих кодов:

  •  автоматически определяется знак результата;
  •  операция вычитания сводится к арифметическому сложению кодов чисел;
  •  упрощается операционная часть ЭВМ.

В ЭВМ используется прямой, обратный и дополнительный коды чисел. Знак “+” кодируется нулем (0), “-” - единицей (1), которые записываются в дополнительном старшем разряде - знаковом разряде.

Возьмем  целое число С = + Cn Cn-1 Cn-2 ...C1 C0 .

1. Прямой код для целых чисел определяется:                                                           

.

Для отрицательных двоичных чисел имеем:

C  = 2 +-Cn Cn-1 ...C0 = 1.Cn Cn-1 ...C0,

где точкой отделен знаковый разряд.

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

C = +10110,     Cпр  = 0.10110;   C = -10110,       Cпр = 1.10110.

Сложение в прямом коде не вызывает затруднений, когда у слагаемых одинаковые знаки: сложить модули и сумме присвоить знак слагаемых. При вычитании чисел в прямом коде нужно сначала определить больший модуль, от него отнять меньший и результату присвоить знак большего модуля.

  1.  Обратный код определяется:                                                         

.

Для отрицательных двоичных чисел имеем:

    Cобр = 2n+2 - 1 --Cn Cn-1C0 = 11…1 – 0.Cn Cn-1C0= 1.n  n-10,

где I = 1 при Ci = 0 и I = 0  при Ci = 1 .                                                           

Таким образом, для представления чисел в обратном коде надо в знаковый разряд записать 0 или 1, для отрицательных чисел в значащие разряды нужно записать дополнение модуля исходного числа до наибольшего числа без знака, помещающегося в данных разрядах. Для двоичной системы счисления последнее означает, что в случае отрицательных чисел для получения обратного кода надо значение разрядов инвертировать: вместо 0 записать 1, вместо 1 – 0.

C = +10110,  Cобр = 0.10110;   С = -10110,  Собр = 1.01001.

  1.  Дополнительный код чисел определяется:                                                             

.

При представлении двоичного отрицательного числа в дополнительном коде в знаковый разряд надо записать 1, а цифровую часть заменить дополнением числа до  2n+1 .

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

                    Cдоп = Собр +1,      при   С < 0 .

C = +10110,  Cдоп = 0.10110;   С = -10110,   Сдоп = Собр+1 = 1.01001+1 = 1.01010.

Как можно увидеть, при вычислениях в ЭВМ в прямом и обратном коде может получиться как положительный, так и отрицательный нуль (+0, -0).

(+0)пр=0,00…0,       (-0)пр=1,00..0;

(+0)обр=0,00…0,    (-0)обр=1,11…1.

И только в дополнительном коде нуль представляется однозначно:

(+0)доп = 0,00…0,   (-0)доп = 1,11…1+2-m = 0.

Нетрудно доказать, что (по модулю):

  •  Обратный код от обратного кода дает прямой код числа.
  •  Дополнительный код от дополнительного кода дает прямой код числа.

Сложение чисел в прямом и дополнительном коде

Можно строго математически доказать следующие правила.

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

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

Таким образом, применение обратного и дополнительного кода упрощает алгебраическое сложение. Сложение чисел с разными знаками заменяется сложением их соответствующих кодов, знак при этом получается автоматически.

Пример 3.14


Варианты представления информации в ПК

Как уже упоминалось, вся информация (данные) представлена в виде двоичных кодов. Для удобства работы введены следующие термины, обозначающие совокупности двоичных разрядов (табл. 3). Эти единицы обычно используются в качестве единиц измерения объемов информации, хранимой или обрабатываемой в ЭВМ.

Восемь последовательных битов составляют байт. Как правило, код символа хранится в одном байте. Такие кодировки называются однобайтными. В одном байте можно закодировать значение одного символа из 256 возможных (28 = 256). Примером такой кодировки может служить код ASCII (American Code for Information Interchange –американский код обмена информацией). В настоящее время все большее применение приобретает двухбайтная кодировка Unicode, в ней коды символов могут иметь значение от 0 до 65535. В этой кодировке имеются коды для практически всех применяемых символов (букв алфавитов разных языков, математических, декоративных символов и т.д.).

                               Двоичные совокупности                                                    Таблица 3

Количество двоичных разрядов в группе

   1

 8

16   

8*1024

8*10242

8*10243

8*10244

Наименование единицы измерения

Бит

Байт

Пара-граф

Килобайт

(Кбайт)

Мегабайт

(Мбайт)

Гигабайт

(Гбайт)

Терабайт

(Тбайт)

 

Последовательность нескольких битов или байтов часто называют полем данных. Биты в числе (в слове, в поле и т.п.) нумеруются справа налево, начиная с 0-го разряда.

В ПК могут обрабатываться поля постоянной и переменной длины.

Поля постоянной длины:

  •  слово – 2 байта;
  •  полуслово – 1 байт;
  •  двойное слово – 4 байта;
  •  расширенное слово – 8 байт.

Числа с фиксированной запятой чаще всего имеют формат слова и полуслова, числа с плавающей точкой – формат двойного и расширенного слова.

Поля переменной длины могут иметь любой размер от 0 до 256 байт, но обязательно равный целому числу байтов.

Пример 3.15

Структурно запись числа –19310 = -110000012 в разрядной сетке ПК выглядит следующим образом.

Число с фиксированной запятой формата слово со знаком:

Знак

Абсолютная величина числа

N разряда

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Число

1

0

0

0

0

0

0

0

1

1

0

0

0

0

0

1

Вопросы для контроля знаний

  1.  Что такое система счисления?
  2.  Какие системы счисления являются позиционными и непозиционными?
  3.  Как представляются числа в форме с фиксированной и плавающей запятой?
  4.  Какое максимальное число можно представить в 8 разрядах?
  5.  Какие цифры присутствуют в записи числа в двоичной системе счисления?
  6.  Какие цифры образуют алфавит шестнадцатеричной системы счисления?
  7.  В чем преимущество двоичной системы счисления с точки зрения ЭВМ?
  8.  Сформулируйте правила перевода чисел из одной системы счисления в другую.
  9.  Для чего нужны прямой, обратный и дополнительный коды чисел?
  10.  Как получить дополнительный код числа?
  11.  Что такое бит, байт, килобайт, мегабайт?
  12.  Сколько байт в 2 Гбайтах?
  13.  Сколько бит необходимо для кодирования одной буквы алфавита, состоящего из 256 символов?
  14.  Сколько различных чисел можно записать в 2 байтах?

  Контрольное мероприятие

!  Домашняя работа № 1

EMBED Equation.3  

EMBED Equation.3  

1)  110111,01         55,25            2)  11011,10           27,5

   + 10011,10      +19,5                    -1101,01         -13,25

           1001010,11         74,75                   1110,01          14,25

               1011,1

            х  101,01

                10111

            10111        - сдвинутое на 2 разряда влево множимое

        10111              - сдвинутое на 4 разряда влево множимое

        111100,011

70  2

  0   35 2

1     17 2

        1    8 2

             0    4 2

                   0   2  2           7010 =10001102           

                                 0    1     

2. Перевести 10000000 в десятичную систему счисления

  10000000 1010

 -  1010         1100  1010        

       1100    - 1010       1       

    -  1010          10=210

             1000=810                              100000002 =12810

             1.   X = 0,0101,          Y = -0,0011

    Xдоп = 0,0101,      Yдоп = 1,1101

Xдоп  + Yдоп = 0,0101

                    +1,1101

                                      10,0010  (единица переноса теряется)

             2.   A = +0,10111,          B = -0,01010

     Aобр = 0,10111,       Bобр = 1,10101

Aобр  + Bобр =  0,10111

                    +1,10101

                                      10,01100

                                                   1           (циклический перенос)

                                        0,01101

Непозиционные

Позиционные

Системы счисления


 

А также другие работы, которые могут Вас заинтересовать

60283. Державні і народні символи України, та їх історичне походження 60 KB
  Мета. Ознайомити дітей з національними та народними символами України; формувати національну свідомість школярів; виховувати почуття любові до своєї землі; виховувати патріотів рідної держави, повагу до її символів, розширювати пізнавальні інтереси школярів.
60284. Внеклассное мероприятие: За здоровый образ жизни 159.5 KB
  Цель: научить детей вести здоровый образ жизни Задачи: пропаганда здорового образа жизни; закрепление знаний правил личной гигиены; развитие общей культуры личности учащихся, расширение кругозора...
60285. Свято «У чистій воді риби багато, у доброзичливої людини друзів багато» 141.5 KB
  Мета: шляхом створення психологічних ситуацій вибору підвести учнів з мовленевими вадами до розуміння важливості взаємодопомоги в колективі; сприяти створенню дружнього дитячого колективу, виховувати чемне ставлення учнів одне до одного.
60286. Урок мужества: «Эхо победы» 108 KB
  Выходит 1 группа детей: Отгремели давно залпы наших орудий А в воронке от бомбы трава мурава Но войну не забыли суровые люди И смеются сквозь слезы Ведь память жива Они помнят походы и дальние страны И простые от сердца народа слова.
60287. Корисні і шкідливі звички 54 KB
  Мета: Поглибити знання учнів про корисні та шкідливі звички; виховувати негативне ставлення до шкідливих звичок бажання вести здоровий спосіб життя. Є звички квітки звички як дуби є гарні звички звички є погані.
60288. ДО СВИДАНИЯ, ОСЕНЬ! 65 KB
  Отгадать загадку просит: Кто художник этот 1 Кто сегодня в парке нашем Листья красками раскрасил И кружит их с веток сносит Это наступила осень 2 От дождя деревья мокнут Лужи всё никак не сохнут.
60289. Сценарій математичного свята “Веселі змагання” 172.5 KB
  Діти ви захочете допомогти принцесі і визволити її з полону Для цього треба розвязати математичні завдання. А на дверях 10 замків щоб зняти замки треба їх розкодувати а для цього розвязати певні завдання.
60290. Класифікація та причини виникнення надзвичайних ситуацій мирного часу 99 KB
  Надзвичайні ситуації природного характеру розрізняють на: ситуації 1 Геологічного походження землетруси обвали природного 2 Мете реологічного смерчі бурі урагани зливи ожеледь морози характеру...
60291. ПОЭЗИЯ И РУССКИЙ РОМАНС (А. ФЕТ и Ф. ТЮТЧЕВ) 6.03 MB
  Стоит учесть, что лирика не терпит аналитического препарирования. Многие старшеклассники иронично относятся к открытому проявлению эмоций, стесняются проявить их. А уж русский романс они вообще не знают.