Представление символьных (текстовых) данных
Символьные данные не имеют специально разработанных для них форматов. При обработке текстов ЭВМ рассматривает символ как целое число без знака, представленное в формате с фиксированной точкой. Значение этого числа рассматривается как порядковый номер символа в таблице кодировки. В настоящее время используются таблицы кодировки, в которых на кодирование символа отведено 8 бит или 16 бит. Наибольшее распространение получили системы кодировки:
Кодировка EBCDIC(Expanded Binary Coded Decimal Interchange Code) обычно используется на универсальных ЭВМ. В России используется во многом совпадающая с ней кодировка ДКОИ (двоичный код обмена информацией). Для кодировки символа используется 8 бит. Количество кодируемых символов 28 = 256 символов.
Кодировка ASCII (American Standard Coding for Information Intorhange) обычно используется на мини и микро-ЭВМ. Для кодировки символа используется 8 бит. Количество кодируемых символов 28 = 256 символов.
В силу широкой распространенности кодировки ASCII рассмотрим ее подробнее.
Таблица кодировки ASCII состоит из двух частей.
Первая часть таблицы содержит коды от 0[10]до 127[10]. Соглашения о кодируемых в этой половине символах являются общепринятыми. Первая часть таблицы содержит коды управляющих символов, латинских букв, десятичных цифр и знаков препинания.
Вторая часть таблицы содержит коды от 128[10]до 255[10]. Эти коды используются для кодировки символов национальных алфавитов и других символов по правилам, принятым в данной стране.
Кодировка UNICODE использует для кодировки одного символа 16 бит, что позволяет закодировать 65535 символов. Кодировка символов с кодами 0 – 127 совпадает с кодировкой ASCII.
Таблицы кодировки ASCII и UNICODE можно найти в справочной литературе. Остановимся только на некоторых закономерностях кодировки, которые используются программистами при обработке текстовых данных. Все рассматриваемые коды приводятся в десятичной системе счисления.
Коды десятичных цифр образуют непрерывную возрастающую последовательность. Наименьший код имеет цифра ‘0’ – 48, а наибольший код - цифра ‘9’ – 57.
Это свойство часто используется для получения числового эквивалента цифры. Для этого из кода цифры необходимо вычесть код цифры ‘0’, например:
Числовой эквивалент цифры ‘4’ = ‘4’ – ‘0’ = 52 – 48 = 4.
Коды латинских прописных (больших) букв образуют непрерывную возрастающую последовательность. Наименьший код у буквы ‘A’ – 65, а наибольший - у буквы ‘Z’ – 90.
Коды латинских строчных (маленьких) букв образуют непрерывную возрастающую последовательность. Наименьший код у буквы ‘a’ – 97, а наибольший - у буквы ‘z’ – 122.
Свойство упорядоченности часто используется для получения порядкового номера буквы в латинском алфавите. Рассмотрим пример ( отсчет номеров букв начинается с нуля):
Порядковый номер буквы ‘D’ = ‘D’ – ‘A’ = 68 – 65 = 3
Порядковый номер буквы ‘d’ = ‘d’ – ‘a’ = 100 – 97 = 3
Разность кодов одноименных строчных и прописных букв постоянна и эта разность составляет 32, что соответствует коду пробела. Это свойство используется для преобразования строчных букв в прописные и наоборот, например:
Преобразуем ‘D’ Þ ‘d’: ‘D’ + (‘a’ – ‘A’) = ‘d’
68 + (97 – 65) = 100
Преобразуем ‘d’ Þ ‘D’: ‘d’ - (‘a’ – ‘A’) = ‘D’
100 - (97 – 65) = 68
Особый вид текстовых данных представляют символьные строки. Символьная строка рассматривается как последовательность символов. Каждому символу соответствует код символа. Строки имеют разную длину.
Длина строки может указываться явно или косвенно.
Явное указание. Перед символами строки располагается поле фиксированного размера, в котором указана длина строки.
Косвенное указание. За значащими символами строки размещается дополнительный символ с заранее оговоренным кодом. Этот символ играет роль признака конца строки. Код этого символа не должен совпадать ни с одним из символов строки. В качестве такового обычно используют символ с кодом 0 и называют его ноль-символом.
СИСТЕМА КОМАНД
Типовые операции
В силу принципа активности команд содержимое ячеек памяти трактуется по месту их обработки в процессоре. Поэтому команда помимо адресов операндов должна содержать следующую информацию:
v Вид обработки операнда (собственно операция).
v Тип операнда, т.е. длину ячейки памяти и способ трактовки ее содержимого – целое число, вещественное число и т.д.
v Способ адресации операнда.
Обычно эта информация кодируется в поле КОП. Каждому значению КОП соответствует своя команда процессора (машинная команда). Совокупность команд, которые может выполнять процессор, называют системой команд.
Разнообразие типов операндов и способов адресации приводит к тому, что процессор имеет свыше сотни команд при небольшом количестве видов обработки. Вид обработки отражает потребности алгоритма в преобразовании данных. Именно вид обработки будем понимать под термином “операция” в рамках этого занятия.
В зависимости от вида обработки выделяют следующие основные группы операций:
· арифметические операции;
· логические операции;
· сдвиговые операции;
· операции пересылки;
· операции управления;
· операции ввода-вывода.
·
Дата добавления: 2019-02-08; просмотров: 723;