ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.11.2023
Просмотров: 87
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Теоретический материал, выносимый на самостоятельную работу по дисциплине «Микропроцессорные информационно-управляющие системы»
Тема 1. Способы кодирования информации
-
Системы счисления
В процессе переработки цифровой информации элементы МПС оперируют многоразрядными кодами, рассматриваемыми как числа. Каждый символ кода однозначно сопоставляется сего количественным эквивалентом, называемым цифрой.
Совокупность приемов и правил, установленных для записи чисел с помощью цифр, устанавливается системой счисления. Запись числа в некоторой системе счисления считается кодом числа.
Для кодирования цифровой информации используются только позиционные системы счисления, в которых значение каждой цифры зависит не только от ее количественного эквивалента, но и от места (позиции) в числе.
Любая позиционная система счисления характеризуется основанием. Основание q позиционной системы счисления – это количество знаков или символов, используемых в данной системе для изображения числа. В десятичной системе используется десять цифр от 0 до 9, основание q=10; в двоичной системе счисления две цифры: 0 и 1, основание q=2. На практике используются системы счисления с основаниями 2, 8, 10 и 16.
При записи некоторого числа в позиционной системе счисления соответствующие цифры числа размещаются по отдельным позициям, которые называют разрядами числа. Количество разрядов n в записи числа называется его разрядностью.
В общем случае в позиционной системе счисления с основанием q число А представляется в виде
A = an-1 q n-1 +an-2 q n-2 + … +a1 q 1 + a0 q 0 ,
где n – количество цифр в числе; ai - коэффициенты, в качестве которых могут быть использованы любые цифры данной системы счисления.
Числа в позиционной системе счисления представляются в виде последовательности соответствующих цифр: A=an-1…a1a0. При такой записи вес каждого разряда при движении справа налево увеличивается в q раз по сравнению с соседним. Нулевым считается младший разряд.
-
Десятичная система счисления
Привычна для человека и используется в МПС в основном при вводе и выводе информации. Запись числа в десятичной системе счисления является его десятичным кодом, обозначаемым как d–код (decimal code). Десятичный код числа, в отличие от остальных кодов, обычно не обозначают никакими символами.
-
Двоичная система счисления
Считается основной в вычислительной технике. Запись числа в двоичной системе счисления считается двоичным кодом, обозначаемым как b-код (binary code).
Если в одном документе одновременно используются разные системы счисления, то двоичные числа обычно обозначают символом b, записываемым слева от числа. Например,
b11010 = 1х 24 +1х 2 3 +0х 22 +1х 21 + 0х 2 0 =26.
Количество информации, содержащейся в n–разрядном двоичном числе, равно количеству разрядов этого числа, бит: I=nlog22=n. Поэтому отдельные разряды двоичных чисел тоже принято называть битами.
Для перевода целого десятичного числа в двоичный код используется деление на основание системы счисления, т.е. на число 2. На каждом этапе деления последовательно, начиная с младшего разряда двоичного кода, фиксируется остаток. Процесс деления заканчивается, если результат деления меньше 2.
Например, перевод числа 53 в двоичную систему счисления выполняется следующим образом:
53/2 = 26/2 = 13/2 = 6/2 = 3/2 = 1
(мл. бит) 1 0 1 0 1 1 (старший бит)
В результате получаем: 53 = b110101.
-
Восьмеричная система счисления
Восьмеричные коды принято отмечать слева символом q. Например:
q4712 = 4х 8 3 +7х 82 +1х 81 + 2х 8 0 =2506.
Восьмеричная система счисления используется как удобная короткая форма представления двоичных чисел, поскольку каждой восьмеричной цифре ставят в соответствие трехразрядный двоичный эквивалент.
q-код | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
b-код | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
Для перехода от двоичного кодирования к восьмеричному двоичный код числа, начиная с младшего разряда, разбивают на группы по 3 символа. Если в последней (левой) группе остается меньше трех символов, то ее снаржи дополняют нулями. Затем каждую группу заменяют соответствующим восьмеричным символом. Например, b 001 101 111 110 = q 1576.
-
Шестнадцатеричная система счисления
Шестнадцатеричный код обозначается как h–код (hexadecimal code). В этой системе счисления для кодирования используются 16 цифр: 0, 1, …, A, B, C, D, E, F. Шестнадцатеричное число обозначают слева символом h. Например, hB2E = Bх 162 +2х 161 + Eх 16 0 =2862.
Шестнадцатеричная система счисления используется как удобная форма представления двоичной информации. При этом каждой группе из четырех двоичных символов ставится в соответствие один символ шестнадцатеричной:
h-код | b-код | h-код | b-код | h-код | b-код | h-код | b-код |
0 | 0000 | 4 | 0100 | 8 | 1000 | C | 1100 |
1 | 0001 | 5 | 0101 | 9 | 1001 | D | 1101 |
2 | 0010 | 6 | 0110 | A | 1010 | E | 1110 |
3 | 0011 | 7 | 0111 | B | 1011 | F | 1111 |
Переход от двоичной кодировки к шестнадцатеричной подразумевает разбиение числа, начиная с младшего разряда, на группы из четырех символов. Например, b 1111 1000 1011 1110 = hF8BE.
В языке программирования Си десятичная константа состоит из одной или нескольких десятичных цифр, причем первая цифра не может быть нулем (иначе число будет воспринято ка восьмеричное).
Восьмеричная константа состоит из обязательного нуля и одной или нескольких восьмеричных цифр. Шестнадцатеричная константа начинается с обязательной последовательности символов 0х и содержит одну или несколько шестнадцатеричных цифр. Например,
16, 127, 240 – десятичные константы,
020, 0117, 0360 – восьмеричные константы,
0x10, 0x2B, 0xF0 – шестнадцатеричные константы.
-
Кодирование числовой информации-
Разрядность числовых данных
-
Данные, представляющие числовую информацию, как правило, имеют фиксированную длину (разрядность). В микропроцессорной технике допускается использовать коды с разрядностью 4, 8, 16, 32 или 64 бита. Для обозначения соответствующих форматов используются общепринятые термины:
-
4 бит – полубайт или тетрада; -
8 бит – байт; -
16 бит – полуслово; -
32 бит - слово; -
64 бит – двойное слово.
-
Форматы числовых данных
При двоичном кодировании чисел в определенном месте разрядной сетки всегда предполагается наличие запятой и фиксируется положение знакового разряда числа. При кодировании запятой в числовой информации никогда не предусматриваются специальные символы. Просто подразумевается, что запятая находится или перед старшим разрядом кода, или после младшего разряда кода. В первом случае речь идет только о дробных числах, которые по модулю меньше 1, во втором – только о целых числах.
Для кодирования знака обычно предусматривается специальный знаковый разряд. В этом разряде знак «+» кодируется символом «0», а знак «-« кодируется символом «1». На рисунке 1.1 показана 8-разрядная сетка, где запятая зафиксирована после младшего разряда. Веса отдельных разрядов этом случае меняются от 20 до 26.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
знак | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
Рисунок 1.1 – Представление чисел с фиксированной запятой
В 8-разрядной сетке могут быть представлены целые числа от b 01111111 = + 27 – 1=127 до b11111111 = -(27 – 1)= -127.
На рисунке 1.2 изображена 8-разрядная сетка, где запятая фиксируется перед старшим разрядом. Веса разрядов в этом случае меняются от 2-7 до 2-1.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
знак | 2-1 | 2-2 | 2-3 | 2-4 | 2-5 | 2-6 | 2-7 |
Рисунок 1.2 – Представление дробных чисел с фиксированной запятой
В такой разрядной сетке можно представить числа в диапазоне от +(1- 2
-7) = 0,9921875 до - (1- 2-7) = - 0,9921875.
-
Специальные кодировки
-
Двоично-десятичный код
Двоично-десятичное кодирование, или bcd – код (binary code decimal), используется для записи десятичных чисел с помощью двоичных символов. Он используется в устройствах ввода и вывода данных, где информация представляется человеку.
В bcd – коде десятичного числа каждая десятичная цифра изображается четырьмя двоичными разрядами (тетрадой), а коды цифр совпадают с кодами цифр обычного b – кода. Из 16 кодовых комбинаций b – кода в bcd – коде используют только 10, а 6 остальных комбинаций запрещены. Примеры записи десятичных чисел в bcd – коде:
d – код | bcd – код | d – код | bcd – код |
10 | 00010000 | 21 | 00100001 |
19 | 00011001 | 89 | 10001001 |
-
Семисегментный код
Разработан специально для схем управления цифровыми индикаторами. Такой индикатор содержит семь светодиодов, расположенных в корпусе в определенном порядке. При этом семь сегментов индикатора (рисунок 1.3), обозначаемых буквами a, b, c, d, e, f, g, способны отобразить все шестнадцатеричные цифры.
| a | |
f | g | b |
e | d | c |
Рисунок 1.3 – Сегменты индикатора
Семисегментный код – семиразрядный. Каждый бит кода соответствует одному сегменту индикатора. Таблица кодировки семисегментного кода имеет вид:
h – код | s – код | h – код | s – код | h – код | s – код | h – код | s – код |
0 | 1111110 | 4 | 0110011 | 8 | 1111111 | C | 1001110 |
1 | 0110000 | 5 | 1011011 | 9 | 1111101 | D | 0111101 |
2 | 1101101 | 6 | 1011111 | A | 1110111 | E | 1001111 |
3 | 1111001 | 7 | 1111000 | B | 0011111 | F | 1000111 |