Например, запись 1011011,101012 означает, что для представления числа используется система счисления с основанием q=2. Равноценная запись – 1011011,10101B. Приведенные в таблице 1 аббревиатуры буквенных идентификаторов означают:
- D (decimal) для десятичной системы счисления,
- B(binary) для двоичной системы счисления,
- Q (octal) для восьмеричной системы счисления,
- H(hex) для шестнадцатеричной системы счисления,
- BCD ( Binary Coded Decimal) для двоично–десятичной системы.
Главным преимуществом позиционных систем счисления по сравнению с непозиционными является удобство представления чисел и простота выполнения арифметических операций. Недостаток позиционных систем — невозможность выполнения арифметических операций как поразрядных, т.е. операций не формирующих межразрядные переносы или заемы.
В микропроцессорной технике применяются следующие системы счисления.
Десятичная. Привычная “школьная” система с основанием q=10, в которой используется десять цифр ar Î{0,1,2,…,9}. В этой системе могут представляться исходные данные, решаются контрольные примеры и выводятся на различные носители и средства визуального отображения полученные результаты.
Двоичная. Основание такой системы q=2. Используется две цифры arÎ{0,1}.
В двоичной системе счисления смешанное число X2 выражается в следующем виде.
Целая часть числа представляется двоичным полином вида
X2 = (an-1*10 n-1+…+a2*1010 +a1*1001+a0)2 (1.4)
Дробная часть имеет вид
X2 =(a-1*10-001+a-2*10-010+…+a-m*10−m)2 , (1.5)
где ar {0,1} - используемые на r – ой позиции двоичные цифры
n, m − длины соответственно целой и дробной части числа, выраженные двоичными числами.
Такая система естественно отражает состояния элементов дискретных ключевых схем, являющихся базой микропроцессорной схемотехники, поэтому на этой системе основываются аналитические бинарные модели дискретных устройств. Двоичная система также применяется для непосредственного ввода данных в МПТ, вывода полученных результатов. Однако, из Свойства 7 следует недостаток двоичной системы: для представления чисел в системе с основанием 2 необходимо больше разрядов, чем, в других систем с непосредственным представлением чисел.
Восьмеричная. Система с основанием q=8, в которой используется восемь цифр ar Î{0,1,2,…6,7}.
В восьмеричной системе счисления смешанное число X8 выражается в следующем виде.
Целая часть числа представляется как полином вида
X8 = (an-1*10 n-1+…+a7*1007 +… +a0)8 (1.6)
Дробная часть имеет вид
X8 =(a-1*10-1+…+a-7*10-07+…+a-m*10−m)8 , (1.8)
где ar Î{0,1,2,…,7} – используемые восьмеричные цифры.
Шестнадцатеричная. Известная система с основанием q=16, в которой используется шестнадцать цифр ar Î{0,1,2,…,9, A,B,C,D,E,F}. В качестве цифр, превышающих по значению 9, используются прописные буквы латинского алфавита.
В шестнадцатеричной системе счисления смешанное число X16 выражается в следующем виде.
Целая часть числа полином вида
X16 = (an-1*10 n-1+…+aA*10A +… +a0)16 (1.9)
Дробная часть представляется как
X16 =(a-1*10-1+…+a-A*10-A+…+a-m*10−m)16 (1.10)
где ar Î{0,1,2,…,9, A,B,C,D,E,F} – используемые шестнадцатеричные цифры;
n, m − длины соответственно целой и дробной части числа, выраженные шестнадцатеричными числами.
Шестнадцатеричная система в силу компактности записи числа удобна для задания данных и символического отображения внутренних состояний функциональных частей МПТ. Она обеспечивает компактный вывод данных и результатов на средства визуального отображения – электролюминисцентные индикаторы, в поля ввода–вывода экранных форм и т.п.
Двоично-десятичная система счисления (Binary Coded Decimal). Относится к двоично–кодируемым позиционным системам.
Основанием системы является десятичное число 10, а для кодирования десятичных цифр используется десять двоичных четырехразрядных комбинаций (тетрад). Каждая комбинация однозначно соответствует десятичной цифре в десятичном числе.
В таблице 2 приведены в качестве примера некоторые числа, представленные в рассмотренных системах.
Таблица 2. Примеры кодирования чисел в машинных системах счисления
Число в десятичной СС |
Число в двоичной СС |
Число в шестнадцатеричной СС |
Число в восьмеричной СС |
00 |
0000 |
0 |
0 |
01 |
0001 |
1 |
1 |
02 |
0010 |
2 |
2 |
03 |
0011 |
3 |
3 |
04 |
0100 |
4 |
4 |
05 |
0101 |
5 |
5 |
06 |
0110 |
6 |
6 |
07 |
0111 |
7 |
7 |
08 |
1000 |
8 |
10 |
09 |
1001 |
9 |
11 |
10 |
1010 |
A |
12 |
11 |
1011 |
B |
13 |
12 |
1100 |
C |
14 |
13 |
1101 |
D |
15 |
14 |
1110 |
E |
16 |
15 |
1111 |
F |
17 |
16 |
10000 |
10 |
20 |
17 |
10001 |
11 |
21 |
0,0625 |
0,0001 |
0,1 |
0,04 |
0,125 |
0,001 |
0,2 |
0,1 |
0,25 |
0,01 |
0,4 |
0,2 |
0,375 |
0,011 |
0,6 |
0,3 |
0,5 |
0,1 |
0,8 |
0,4 |
0,625 |
0,101 |
0,A |
0,5 |
0,75 |
0,11 |
0,C |
0,6 |
Для практической деятельности актуальна задача преобразования чисел представленных в одной системе счисления в другую. Задача состоит в представлении числа в требуемой СС с основанием qтр, если оно задано в исходной системы СС с основанием qисх.
Для преобразования могут использоваться следующие методы:
- схема Горнера;
- метод «цифра за цифрой»;
- специфическое соотношение оснований;
- через промежуточную систему счисления.
Ниже подробно будут рассмотрены методы перевода чисел из одной системы счисления в другую метод подбора, «цифра за цифрой» и метод, основанный на специфическом соотношений оснований.
Метод подбора.
Метод используется для преобразований “в уме”. Служит в основном для преобразований из десятичной в двоичную систему счисления. Метод описывается следующим алгоритмом.
Алгоритм.
Подбирается ближайшая снизу к заданному числу (текущему остатку) степень двойки, не превосходящая числа (остатка). В соответствующей позиции двоичного числа записывается единица. Промежуточные старшие позиции заполняются нулями.
Определяется разность между числом (текущим остатком) и значением подобранной степени. Разность наз. текущим остатком.
Если разность не равна 0 или не отрицательно, то переход на п.1.
Иначе: конец.
Конец
Процедура интуитивно понятна, требует знания степеней двойки. Выполняется в десятичной арифметике. Теоретически возможно использование метода для преобразования в другие системы счисления. Однако в системах отличных от двоичных, требуется в качестве вычитаемых из текущего остатка использовать не только значения степени недвоичных оснований, а их произведения на соответствующие цифры. В этом случае подбирается не только ближайшая степень основания требуемой системы счисления, но и соответствующая цифра. Поэтому для таких “ручных” преобразований метод сложен, поэтому не применяется.
В таблицах 3, 4 приведены значения некоторых степеней двойки
Таблица 3 – Степени двойки для преобразования целого числа
Степень |
|
|
|
|
|
|
|
|
|
|
|
|
Десятичный эквивалент |
2 |
4 |
8 |
16 |
32 |
64 |
128 |
256 |
512 |
1024 |
2048 |
4096 |