Автор работы: Пользователь скрыл имя, 16 Мая 2014 в 14:09, лекция
Системой счисления называется совокупность приемов наименования и записи чисел. В любой системе счисления для представления чисел выбираются некоторые символы - цифры, а числа получаются в результате операций над цифрами данной системы счисления.
Система называется позиционной, если значение каждой цифры изменяется в зависимости от ее положения в последовательности цифр, изображающих число.
Для получения весовых коэффициентов каждого разряда необходимо возвести основание системы счисления в степень, начиная с нулевой.
Основанием позиционной системы счисления Х называют число единиц младшего разряда, объединяемых в единицу старшего разряда.
Способы представления информации
в микропроцесорных системах
Системой счисления называется совокупность приемов наименования и записи чисел. В любой системе счисления для представления чисел выбираются некоторые символы - цифры, а числа получаются в результате операций над цифрами данной системы счисления.
Система называется позиционной, если значение каждой цифры изменяется в зависимости от ее положения в последовательности цифр, изображающих число.
Для получения весовых коэффициентов каждого разряда необходимо возвести основание системы счисления в степень, начиная с нулевой.
Основанием позиционной системы счисления Х называют число единиц младшего разряда, объединяемых в единицу старшего разряда. Такую систему счисления называют Х-ричной.
Основание системы счисления совпадает с количеством цифр, используемых для записи чисел в этой системе счисления. Обычно в различных системах счисления используются цифры от 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+
В шестнадцатеричной системе счисления (Hexadecimal, HEX, h) основание равно 16, числа записываются цифрами от 0 до 9, и буквами от A до F. Младший разряд соответствует значению 160=1, далее по возрастанию 161=16, 162=256, 163=4096 и т.д.
Таким образом, в этой системе счисления, числу 123 будет соответствовать запись:
7×161+11×160 =7Bh
В таблице 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 - ст. разряд
Методика подбора предполагает, что при переводе десятичного числа подбирают ближайшее к нему максимальное значение старшего разряда Х-ричной системы счисления, повторяя процедуру подбора для остатка, пока не будет получено минимальное значение младшего разряда.
При переводе в десятичную систему счисления необходимо пронумеровать разряды исходного числа, начиная с нулевого, и вычислить сумму произведений соответствующих значений разрядов, с учетом весовых коэффициентов. Если в каком-либо разряде стоит ноль, то соответствующее слагаемое не учитывается.
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
2 1 0
Если необходимо перевести число из двоичной системы счисления в систему счисления, основанием которой является степень двойки, достаточно объединить цифры двоичного числа, начиная с младшего разряда, в группы, соответствующие степени. Если в последней группе недостает цифр, то она дополняется нолями. Затем каждая группа заменяется соответствующей цифрой новой системы.
Например, для перевода в шестнадцатеричную систему счисления двоичное число разбивается на группы по четыре разряда – тетрады, начиная с младшего.
При переводе в двоичную систему счисления необходимо выполнить обратную процедуру, заменив каждый разряд шестнадцатеричного числа двоичной тетрадой (нули в старших разрядах при этом отбрасываются).
0011 1101 0101b = 3D5h
3 D 5
Перевести число 5EDh из шестнадцатеричной системы число в двоичную:
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 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
Десятичное число |
Дополнительный код |
Десятичное число |
Дополнительный код |
-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 уникальных символов).
Информация о работе Способы представления информации в микропроцесорных системах