Способы представления информации в микропроцесорных системах

Автор работы: Пользователь скрыл имя, 16 Мая 2014 в 14:09, лекция

Краткое описание

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

Прикрепленные файлы: 1 файл

1_Способы представления информации.doc

— 160.00 Кб (Скачать документ)

 


 


Способы представления информации

в микропроцесорных системах

 

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

 

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

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

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

Основанием позиционной системы счисления Х называют число единиц младшего разряда, объединяемых в единицу старшего разряда. Такую систему счисления называют Х-ричной.

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

Запись произвольного целого числа N в позиционной системе счисления основывается на его представлении в виде многочлена:

 

N = anXn + an-1Xn-1 + ... + a1X1 + a0X0 ,

 

где а = 0, 1, …Х-1  – цифры Х-ричной системы счисления.


 

1.2. Представление чисел  в различных системах счисления

 

Десятичная система счисления (Decimal, DEC, d) имеет основание равное 10, для записи чисел используются десять цифр от 0 до 9,  каждый старший позиционный разряд десятичного числа образуется при объединении десятка единиц младших разрядов. Индекс после числа, как правило, не указывают. Разряды десятичного числа образованы от значений весовых коэффициентов: единицы соответствуют значению 100 = 1, десятки – 101 = 10, сотни – 102 = 100  и т.д.

Например, число 123 соответствует записи:

 

1×102 + 2×101 + 3×100 = 123

 

В двоичной системе счисления (Binary, BIN, b) основание равно 2, числа записываются комбинациями цифр 0 и 1. Младший разряд соответствует значению  20=1, далее по возрастанию 21=2,   22=4,   23=8,   24=16 …

Следовательно, числу 123 будет соответствовать запись:

 

1×26+1×25+1×24+1×23+0×22+1×21+1×20 = 111 1011b

 

В шестнадцатеричной системе счисления (Hexadecimal, HEX, h) основание равно 16, числа записываются цифрами от 0 до 9, и буквами от A до F. Младший разряд соответствует значению  160=1,  далее по возрастанию     161=16,   162=256,   163=4096   и т.д.

Таким образом, в этой системе счисления, числу 123 будет соответствовать запись:

 

7×161+11×160 =7Bh

В таблице 1 приведены примеры записи чисел в различных системах счисления для наиболее часто использующихся значений.

 

Таблица 1 - Примеры записи чисел в различных системах счисления

Decimal, DEC

Binary,

BIN

Hexadecimal, HEX

Decimal, DEC

Binary,

BIN

Hexadecimal, HEX

0

0000

0

63

11 1111

3F

1

0001

1

64

100 0000

40

2

0010

2

127

111 1111

7F

3

0011

3

128

1000 0000

80

4

0100

4

255

1111 1111

FF

5

0101

5

256

1 0000 0000

100

6

0110

6

511

1 1111 1111

1FF

7

0111

7

512

10  0000 0000

200

8

1000

8

1 023

11 1111 1111

3FF

9

1001

9

1 024

100 0000 0000

400

10

1010

A

2 047

111 1111 1111

7FF

11

1011

B

2 048

1000 0000 0000

800

12

1100

C

4 095

1111 1111 1111

FFF

13

1101

D

4 096

1 0000 0000 0000

1000

14

1110

E

8 191

1 1111 1111 1111

1FFF

15

1111

F

8 192

10 0000 0000 0000

2000

16

1 0000

10

16 383

11 1111 1111 1111

3FFF

17

1 0001

11

16 384

100 0000 0000 0000

4000

18

1 0010

12

32 767

111 1111 1111 1111

7FFF

31

1 1111

1F

32 768

1000 0000 0000 0000

8000

32

10 0000

20

65 535

1111 1111 1111 1111

FFFF


 

 

1.3. Перевод чисел в  различные системы счисления

 

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

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

 

Перевести число   171   в двоичную и шестнадцатеричную системы счисления:

 

171 |  2     171 = 10101011b   171 |   16   171 = ABh 

  85 |  1– мл.  разряд     10 |  11 – мл.  разряд

  42 |  1            à 10 - ст. разряд   

  21 |  0         

  10 |  1     

    5 |  0

       2 |  1

       1 | 0

        à 1 - ст. разряд

 

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

 

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

 

Перевести число 1000101b в десятичную систему счисления:

 

          6 5 4 3 2 1 0

100 0101b = 1×26+0×25+0×24+0×23+1×22+ 0×21+1×20 = 64+4+1=69

 

Перевести число 1А5h в десятичную систему счисления:

 

      2  1 0

1А5h = 1×162+ А ×161+ 5×160 = 1×256+10×16+5×1 = 256+160+5 = 421

 

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

Например, для перевода в шестнадцатеричную систему счисления двоичное число  разбивается на группы по четыре разряда – тетрады, начиная с младшего.

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

 

Перевести число 11 1101 0101b из двоичной системы в шестнадцатеричную:

0011 1101 0101b = 3D5h

       3       D   5

Перевести число  5EDh   из шестнадцатеричной системы число в двоичную:

5EDh = 101 1110 1101b

 

1.4. Арифметические действия

 

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

 

Выполнить сложение

      1  1  1       1  1

      10 1100b    7 8 9h

             +10 1110b  +6АВh

    ----------------    -------------

   101 1010b    Е 3 4h

 

Выполнить вычитание

   >   >  >      >  >

  101 1010b    Е 3 4h

-   10 1110b  - 6 АВh

     ------------------     -------------

    10 1100b    7 8 9h

1.5. Сложение по модулю  два

 

Достаточно часто, при обработке информации в микропроцессорных системах, кроме обычных сложения и вычитания, необходимо выполнить операцию «сложение по модулю два» - XOR (исключающее ИЛИ). В булевой алгебре логики этому выражению соответствует уравнение:

 Y = A¢B+AB¢

Функционально сложение по модулю два выполняет операцию побитного суммирования без переноса, которому соответствуют правила:   0=0+0,   0=1+1,    1=1+0

 

Выполнить операцию сложения по модулю два для чисел 11 1100b   и   10 1110b:

 

      11 1100b

     Å10 1110b

        -----------------

      01 0010b

 

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

 

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

Формат чисел в дополнительном коде предполагает, что старший разряд имеет значение знакового. Если он равен нулю, то число положительное, если единице – отрицательное. Таким образом, в восьми разрядах можно записать 128 положительных чисел (от 0 до 127) и 128 отрицательных (от –1 до –128).

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

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

 

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

 

Представить число   –20  в дополнительном коде:

          1. 0001 0100

                1 1

2) 1110 1011

3) +             1

------------------

1110 1100 = - 20

Определить десятичный эквивалент числа 1110 0101, представленного в  дополнительном коде:

1) 1110 0101

-   1

-------------------

1110 0100

2) 0001 1011

3) 0001 1011 = - 27

 

Вычислите значение выражения  32-20, используя дополнительный код. Для проверки результата переведите полученное число в десятичную систему счисления.

Значение выражения будет вычислено как сумма  32+(-20), а полученный при переносе старший (девятый)  разряд отброшен.

 

         1 1      

        0010 0000       32 

      +1110 1100     -20

      -------------------     -------

             1 0000 1100 = 0000 1100 = 12    12

 

 

Таблица 2  - Примеры представления чисел в дополнительном коде

Десятичное число

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

Десятичное число

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

-128

1 000 0000

0

0 000 0000

-127

1 000 0001

1

0 000 0001

-126

1 000 0010

2

0 000 0010

-125

1 000 0011

3

0 000 0011

-3

1 111 1101

125

0 111 1101

-2

1 111 1110

126

0 111 1110

-1

1 111 1111

127

0 111 1111


 

1.7. Буквенно-цифровые коды

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

Первой известной кодировкой символов была кодировка ASCII (American Standard Code for Information Interchange) – американский стандартный код обмена информацией, каждой цифре и символу которого был присвоен уникальный восьмиразрядный код (всего 256 уникальных символов).

Информация о работе Способы представления информации в микропроцесорных системах