В начало

Системы счисления (Лекция)

 

      Система счисления - это совокупность приёмов и правил изображения чисел цифровыми знаками.

Системы счисления делятся на позиционные и непозиционные.

Непозиционная система счисления  - это система, в которой значение символа не зависит от его положения в числе. Примером непозиционной системы счисления является римская система счисления (IV, V, VI).

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

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

      Основными характеристиками позиционной системы являются:

1.   Количество цифр системы равно её основанию.

2.  Наибольшая цифра на единицу меньше основания.

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

Число М = М1+М2 представляется в виде:

,

b - основание системы счисления;

а - значение разряда;

n - число разрядов целой части;

m - число разрядов дробной части;

bi - вес разряда, который равен основанию степени, равной номеру разряда без единицы.

163

162

161

160

,

16-1

16-2

103

102

101

100

,

10-1

10-2

83  

82  

81   

80  

,

8-1  

8-2

23    

22  

21   

20    

,

2-1  

2-2

 

Изображение числа в различных системах счисления

Для отличия чисел различных систем счисления используются различные способы написания:

12510 = 125D (десятичная);

1258 = 125Q (восьмеричная);

12516 = 125H (шестнадцатеричная);

1012 = 101B (двоичная).

Число Z=126,25D можно представить в виде равенства:

-       десятичная система  ;

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

      ;

-       шестнадцатеричная система ,  .

Наиболее широко используется десятичная система счисления, а все современные вычислительные средства работают на базе двоичной системы. Использование двоичной системы счисления при построении вычислительных устройств объясняется следующими причинами:

1)  в двоичной системе легче различить 2 состояния, чем, например, 10 десятичных;

2)  большинство физических величин имеет два состояния: потенциал высокий или низкий; выключатель включен или выключен; ток есть или нет;

3)  реализовать цифровую схему, имеющую два состояния значительно легче.

Недостатком двоичной системы счисления является то, что в ней необходимо использовать значительно большее число разрядов, чем, например в десятичной, т.е. очень неудобная запись. Для облегчения записи двоичных чисел может быть использована восьмеричная система счисления, так как основанием этой системы является 8=23. Для перевода двоичных чисел в восьмеричные необходимо разбить двоичное число на трех битовые группы, каждую из которых можно представить в виде одной восьмеричной цифры.

Например, .

      Наряду с восьмеричным представлением двоичных чисел широкое распространение получили двоично-десятичная система и шестнадцатеричная система счисления (DDK, BCD). Двоично-десятичный код ориентирован на десятичное основание системы и может быть непосредственно преобразован в десятичные числа. Двоично-десятичный код образуется заменой каждого десятичного разряда в десятичном числе 4-х битовым двоичным представлением этого разряда. Например,  (BCD(DDK)). Шестнадцатеричное представление двоичных чисел есть расширенное двоично-десятичное представление, использующее дополнительные 6 символов 4-х битовых групп:

А=10, В=11, С=12, D=13, E=14, F=15. Например, 1F H=31D.

 

Арифметические операции

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

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

1.  Сложение

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

      0+0=0

      0+1=1

      1+0=1

      1+1=[1] 0,   1+1+1=[1] 1, где [1] - перенос

      +11011

      1111

      101010

1.2        Восьмеричная система счисления

+157 Q

     376 Q

     555 Q

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

+1F7 H

     D3E H 

      F35 H

2.  Вычитание

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

      1-0=1

0-1=[1] 1, где [1]- заем

      -10002

      1112

 0001    

2.2        Восьмеричная система счисления

-1101 Q

      777 Q

      102 Q

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

-1DE H

      FF H 

        DF H

 

3.  Умножение

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

      1×1=1

1×0=0

      ´101

      11

 +101

 101

 1111

    

3.2        Восьмеричная система счисления

  ´ 27 Q

        35 Q

      +163 Q

      105

     1233 Q

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

´1F H

      A H 

       136 H

4. Деление

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

        -1111  101

    101  11

    -101   

     101

       0

4.2        Восьмеричная система счисления

     16 Q  2

 16   7

   0

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

  1E H  2

  1E    F

   0

 

 

Преобразование кодов

Правила преобразования для целых и дробных чисел имеет свои особенности: полное представление двоичного числа или кода получают путем объединения целых и дробных частей числа и указания места запятой.

 

Перевод десятичных чисел в двоичные, восьмеричные
и шестнадцатеричные числа

1. Целая часть

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

1) 10-ое ® 2-ое      ост.

36:2=18       0

      18:2=9        0

9:2=4         1      3610=1001002

4:2=2         0

2:2=1         0

1:2=          1    

                          

                 ост.

     124:2=62     0

      62:2=31      0 

      32:2=15      1      12410=11111002

      15:2=7       1

      7:2=3        1

      3:2=1        1

      1:2=         1       

 

2) 10ое® 8ое      ост.

     36:8=4       4

     4:8=         4      3610=448

 

3) 10ое® 16ое     ост.

     36:16=2       4

     2:16=         2     3610=24 H

 

                 ост.

      124:16=7     C

      7:16=        7     12410=7C H

 

2. Преобразование дробных десятичных чисел в двоичные, восьмеричные, шестнадцатеричные коды

      Повторное умножение данного десятичного числа на основание. Разряд перед запятой дает разряд преобразованного числа, при последующем умножении используется лишь дробная часть промежуточного результата.

1)  0,375 D® B  (двоичная система)

0,375´2=0,75    0 

      0,75´2=1,5      1    0,375 D=0,0112

      1,5´2=1,0       1

 

2) 0,375 D®Q

      0,375´8=3,0      3    0,375 D=0,38=0,3Q

 

      3)0,375 D®H

      0,375´16=6,0    6    0,375 D=0,6 H

 

 

 

 

Методы преобразования кодов в десятичные

1.  Целая часть

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

1) 1101002 ® D

1                             1

1×2+1                         3

3×2+0                         6

6×2+1                         13

13×2+0                        26 

26×2+0                        52   

              32 16  8  4  2  1

              1  1   0  1  0  0             

1101002 = 52 D

2) 154 Q® D

1                              1

1×8+5                          13

13×8+4                        108

               1 5 4 Q=108 D

3) 1AF H® D

1                            1

1×16+A                       26

26×16+F                     431

                 1 A F H=431 D

 

2. Перевод дробных кодов в десятичные

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

 

 

 

 

1) 0®D

                  1:2=0,5

                +0,5:2=0,75

                +0,75:2=0,875  

0, 1 1  1                                 0,1112=0,875D

2) Q®D

                  1:8=0,125

                +0,125:8=0,64

                +0,64:8=0,455  

0, 3 5  1                                 0,3518=0,455D

3) H®D

                  A:16=0,625

                +0,625:16=0,101

 

   0, 1 A                                 0,1A16=0,101D

Общее правило

      В общем случае перевод целого числа из одной системы счисления в другую производится методом повторного деления данного числа на основание той системы, в которую оно переводится. Деление выполняют в системе счисления, в которой записано подлежащее преобразованию число. Основание записывают в системе счисления преобразуемого числа. Результат также записывают в системе преобразуемого числа.

 

 

 

 

 

 

1)  154Q®D                                                        

154    12

12  12  12

 34 12  1   12

   24  0  1 0

   10

          8     0   1           1548 = 10810

2)  100002®D

10000  1010

 1010  1   1010

    110    1

                                 100002 =1610

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

0,752Q®D                            

0,752 ´ 12

    11  444

 5  550

 7   02

 

1) ´ 0,752                

            12

          1724

          752

        11,444

2) ´ 0,444

            12

          1110

          444

         5,550

3) ´ 0,55

           12

          132

           55

         7,02              

0,752 Q = 0,957 D

 

Кодирование чисел в вычислительных системах

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

-       прямой;

-       обратный;

-       дополнительный.

Прямым кодом двоичного числа называется n-разрядное число, у которого один или два старших разряда есть знаковые, и записывается это число в следующем виде:

Прямой код определяется следующим выражением:

,

где А - вес знакового разряда.

Для дробных чисел А=1, для целых чисел А=2n-1, где n- число бит разрядной сетки ЭВМ.

Пример.

      n = 4

      х = -5

     

1

1

0

1

 

      [-5]пр = 23 + ï-5ï=13=1101

      для n = 5

1

0

1

0

1

[5]пр = 24 + ï-5ï=16 +5= 21=10101

 

Пример.

      n = 4

      х = -0,5

      [-0,5]пр = 1 + ï0,5ï=1,5=1100

 

В прямом коде 0 имеет два значения. Например, для n=4

+0º0000

-0º1000

 

Обратным кодом двоичного числа называется n-разрядное число, у которого один или несколько старших разрядов есть знаковые, и записывается оно в следующем виде:

Обратный код положительного числа равен прямому коду этого числа.

Обратный код отрицательного числа определяется выражениями:

-       для дробных чисел    [X]обр = 2 - 2-(n-1) - |X|;

-       для целых чисел      [X]обр = 2n -1 - |X|.

Наиболее просто обратный код можно получить следующим образом:

1.  Записать исходное число в прямом коде (знаковый разряд равен 1).

2.  В цифровых разрядах поменять нули на единицы, а единицы на нули.

Пример.

      n = 4

      х = -5

      [-5]пр = 1101

      [-5]обр = 1010

      [-5]обр = 24-1-[5] = 16-1-5 = 10 =1010

     

Пример. Обратный код дробного числа: 

n = 4

      х = -0,5

      [-0,5]обр = 2-2-(4-1)-ï0,5ï=1,375=1011

      0,375×2=0,75          0

      0,75×2=1,5            1

      0,5×2=1,0             1

Пример.

      n = 4

      х = +5

      [5]обр = [5]пр = 0101

 

      Вес знакового разряда отрицательного числа равен   - [2n-1 -1].

n=4, [+0]обр=0000, [-0]обр=1111.

Перевод обратного кода в десятичный производится следующим образом:

1.  Образуем прямой код инвертированием цифровых разрядов.

2.  Значение знакового разряда (1) отбрасываем и считаем, что это '' минус''.

3.  Умножаем значение цифровых разрядов  на их веса и произведения складываем.

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

Пример: 1010 = - [23 - 1] + 0×22 + 1×21 + 0×20 = -7 + 0 + 2 +0 = -5

В основном в вычислительных системах используется дополнительный код.

Дополнительным кодом двоичного числа называется n-разрядное число, у которого один или два старших разряда есть знаковые, и записывается это число в следующем виде:

    (n-1) нулей

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

Дополнительный код отрицательного числа образуется следующим образом:

-       для дробных чисел  [X]доп = 2 - |X|;

-       для целых чисел      [X]доп = 2n - |X|.

Дополнительный код отрицательных чисел можно получить по следующему правилу:

1.  Записать число в обратном коде.

2.  Прибавить к полученному результату 1.

Пример.

      n = 4

      х = -5

      [-5]обр = 1010

      [-5]доп = 1011

                   È  весовой знак (-2n-1)

      n = 4  [+0]доп = 0000

                [-0]доп = 0000

 

      Для перевода двоичного числа, записанного в дополнительном коде, в десятичное необходимо:

1.  Определить знак числа. Если число положительное - знаковый разряд равен нулю, то дополнительный код равен прямому и для получения десятичного числа умножаем значения цифровых разрядов на их веса, а потом произведения складываем.

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

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

Пример:                            

1011-доп.                                                                                   

1100

0001

1101     

      -(1×22+0×21+1×20)=-5

      1101= 1×(-23) +0×22+1×21+ 1×20 = -5

 

Арифметические операции над числами со знаками

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

Пример.

      n = 6

      16-5= 16+(-5)

      [16]пр = [16]обр =[16]доп =010000

      [-5]пр = 100101

      [-5]обр = 111010

      [-5]доп = 111011

1)  В обратном коде                  2) В дополнительном коде

+010000                                 010000

   111010                                 111011

  1001010                               1 001011      

цикл   +1

пер

                                    

      При равенстве переносов в знаковый разряд и из знакового разряда переполнение разрядной сетки ЭВМ - отсутствует.

ZS + ZS+1 = 1 - условие переполнения разряда.

 

Обратный и дополнительный код десятичных чисел

      Обратный код

Пример: [-595]обр = 1 404;   ;

[-595]пр = 1 595

 

 

Дополнительный код

, где n - число десятичных разрядов.

Пример: [-595]доп = 1 405

 

 

Арифметические операции в двоично-десятичном коде

      В двоично-десятичном коде из 4-х двоичных разрядов можно составить 16 комбинаций (0000¸1111). Поскольку для представления десятичной цифры необходимо только 10 комбинаций (0000¸1001), то следовательно 6 комбинаций двоичных цифр (1010¸1111) не используется. В двоично-десятичном коде (DDK) перенос необходимо генерировать при десятом отсчёте, поэтому при сложении в случае переноса добавляется 6. Шестёрка также добавляется в случае появления запрещённой комбинации.

Пример:

+[-595]     [-0595]пр. = 10595

 [-675]     [-0675]пр. = 10675

[-0595] пр. [-0595] обр. = 19404  DDK: 11001010000000100

            [-0675] обр. = 19324  DDK: 11001001100100100

            [-0595] доп. = 19405  DDK: 11001010000000101

             [-0675] доп. = 19325  DDK: 11001001100100101

 + 11001010000000100

   11001001100100100                                    

  110010011100101000

 +    0110                +1

    1 1000 0111 0010 1001

    1   8    7    2     9

 ( "-" знак)

    -    1   2    7     0   обратный код

      В дополнительном коде

 + 1 1001 0100 0000 0101

   1 1001 0011 0010 0101

 1 1 0010 0111 0010 1010

     0110           0110       

  1  1000 0111 0011  0000

  1    8    7    3     0

 ½10n - ½х½½= - 127

 

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

      В декадных счётчиках, частотомерах, цифровых вольтметрах, датчиках положения скорости используется двоично-десятичный код. В цифровых приборах для индикации используется семи сегментный код, т.е. в цифровых приборах DDK работает в семи сегментный код. DDK каждая десятичная цифра представляется в виде комбинации знаков 0 и 1 при этом сохраняется десятичный вес цифры. Наиболее общим способом кодирования является представление десятичной цифры при помощи её 4-х разрядного двоичного эквивалента.

DDK бывают взвешенные и не взвешенные. Во взвешенном коде каждый двоичный разряд десятичный цифры имеет определённый вес. Любую десятичную цифру от 0 до 9 можно представить в виде следующего выражения:

А = а1×Q1 + а2×Q2 + а3×Q3 + а4×Q4,

где а1…а4 - веса двоичных разрядов;

      Q1Q4 - двоичные числа кодовой комбинации. Например, [5]DDK = 0101

К взвешенным кодам относят коды 8421, 4221, 2421, 5211, 5421 и код с избытком 3.

Наиболее употребительным является код 8421. Этот код удобен тем, что он совпадает с обычным двоичным кодом. Кроме того, он однозначен. В нём для каждой десятичной цифры можно написать одну и только одну комбинацию.

Код 2421      1100=6, 0110=6.

В зависимости от порядка следования степеней числа 2 взвешенные коды бывают регулярными и нерегулярными. В регулярном коде степени расположены в возрастающем порядке. Если степени числа 2 расположены другим способом, то хотя в результате и получится DDK, но он будет нерегулярным. Регулярный код 8421, примерами нерегулярного кода могут быть 2421, 4221. Преобразование в нерегулярных кодах производится порядком следования степеней 2. Отсюда следует, что если установить вес некоторым произвольным образом, то получим код, который можно характеризовать как случайный, и связывая сложным образом веса между собой можно получить секретный код, который не поддаётся расшифровке.

Если в коде 8421 добавить число 3, то получится код с избытком 3:

А = а1×Q1 + а2×Q2 + а3×Q3 + а4×Q4 + 3. [4]код с изб."3" = 0100 + 0011 =0111.

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

      DDK также можно разделить на две группы:

-       самодополняющиеся коды;

-       не самодополняющиеся коды.

К самодополняющимся кодам относят коды, которые характеризуются следующим:

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

Код 2421 само дополняющийся, например, 0110 = 6, проинвертировав (1001) = 3.

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

      Кроме того, существует код чётности для контроля передачи информации, код Хемминга, который служит для контроля передачи информации, отыскании ошибки в передаче и коррекция этой ошибки.

      Семисегментный код применяется для представления десятичных цифр с помощью семи сегментного индикаторного элемента.

      Код ASCII преобразует алфавитно-цифровую информацию.

 

XBOX LIVE CARD 2000 РУБЛЕЙ
XBOX LIVE CARD 2000 РУБЛЕЙ


Resident Evil: Revelations
Resident Evil: Revelations


Saints Row: Gat out of Hell
Saints Row: Gat out of Hell