Представление символьной информации в ЭВМ
Символьная информация представляется и обрабатывается в ЭВМ в форме цифрового кода. Каждой букве соответствует определенное число. При этом каждую букву обозначают цифрой, определяющей ее место в соответствующем алфавите. Например, при использовании двоично-десятичного кода для кодировки букв русского алфавита буквы обозначаются следующим образом:
А – 0000001; Б – 0000010; В – 0000011; Г – 0000100 и т.д.
Другим важным моментом при организации кодировки символьной информации является эффективное использование оперативной памяти ЭВМ.
Обычно для представления символьной информации требуется примерно 100 знаков, что включает русский, английский алфавит, арифметические знаки, команды управления печать и др. Тогда для размещения числа из этого диапазона достаточно одного байта информации, а не машинного слова. Что существенно экономит память ЭВМ.
Кроме того, при назначении кодов знаками учитывается требования международной стандартизации. В настоящее время существует несколько распространенных схем кодирования:
ВСD (Binary-Coded Decimal) – двоично-десятичный код. В этом коде каждая десятичная цифра записывается своим четырех битовым кодом
EBCDIC (Extended Binary-Coded Decimal Interchange Code) – расширенный двоично-десятичный код обмена информации, который используется для преобразования числовых и буквенных строк.
ASCII (American Standard Code for Information Interchange) – американский стандартный код для обмена информацией. Этот код используется для обмена информацией между внешними устройствами и ЭВМ, например между печатающими устройствами (принтером) и оперативной памятью ЭВМ.
ASCII (Двоичный семи битовый код обмена информацией) Отечественная версия кода КОИ7, совпадающий с ним, за исключением букв русского алфавита.
Форматы данных
Данные – это информация, представленная в виде, пригодном для обработки автоматическими средствами, например, в двоичном коде.
Данные, обрабатываемые ЭВМ делятся на три группы:
- логические коды;
- числа с фиксированной запятой;
- числа с плавающей запятой.
Логические коды. Они размещаются в отдельных байтах и в словах. Для их представления достаточно иметь 16 битовые (или двухбайтовые) слова.
Логическими кодами могут быть представлены символьные величины, числа без знака, битовые величины.
Например, в коде ASCII (КОИ-7) каждый символ занимает один байт, восьмой разряд которого всегда содержит 0. Символы размещаются в ячейках оперативной памяти в последовательно адресуемых байтах.
Первый байт слова второй байт слова
0 |
|
Числа в формате с фиксированной запятой. Эти числа могут занимать байт или слово. Если число с фиксированной запятой занимает байт, то для его представления используются разряды с первого по седьмой. Восьмой разряд используется для определения знака числа. При размещении числа с фиксированной запятой в слове значение числа содержится в 15 разрядах. При этом 16 разряд является знаковым разрядом. Отрицательные числа в формате с фиксированной запятой представляются в дополнительном коде (посредством операции дополнения до двух).
Примеры представления чисел с фиксированной запятой:
а) размещение в байте
Число | Восьмеричный код | Двоичный код |
0 0 000 000 | ||
+5 | 0 0 000 101 | |
-5 | 1 1 111 011 |
Знаковый бит числа
б) размещение в слове (16 бит)
Число | Восьмеричный код | Двоичный код |
000 000 | 0 000 000 000 000 000 | |
+5 | 000 005 | 0 000 000 000 000 101 |
-5 | 177 773 | 1 111 111 111 111 011 |
Знаковый бит числа
При выполнении операций над числами они масштабируются таким образом, чтобы ЭВМ оперировало с числами меньше 1. Поэтому после каждой операции они масштабируются. Так как при операциях умножения или вычитания с числами меньше единицы результат уменьшается, то необходимо следить не только за переполнением разрядной сетки машины , но и за ее обнулением. А из-за постоянного масштабирования, когда цифры младших разрядов перемещаются в старшие, накапливается абсолютная погрешность в вычислениях. Например, при двух битовом машинном слове перемножение двух чисел меньше 1 приведет к неправильному результату из - за потери младшего разряда числа:
0,1 х 0,1 = 0,0 1
В результате получим число 0, 0, а не 0,01
Таким образом, в универсальных ЭВМ данное представление числа практически не применяется. Оно используется в вычислительных системах, где диапазон чисел заранее проанализирован и известен.
Представление чисел в формате с плавающей запятой. Любое вещественное число Х может быть представлено в системе счисления с основанием N, которое можно записать в виде:
,
где m – мантисса , р- порядок числа.
Если , то запись числа называют нормализованной слева.
Например: 355, 25=0,035525х104
25= 0, 025х 103
Число называют нормализованным справа, если после запятой в мантиссе стоит не нуль.
Например: 0,0007610=0,76х10-3 или 0,000112 =0,11х10-3
При этом используется нормализованное число одинарной или двойной точности.
Нормализованное число одинарной точности, представленное в формате с плавающей запятой, записывается в память ЭВМ следующим образом.
В 16 бите первого слова записывается знак числа (0 – «+»; 1 – «-»);
Число мантиссы занимает разряды с 15 по 7. Разряд 6 соответствует знаку порядка (0 – «+»; 1 – «-»), а оставшиеся пять разрядов соответствуют значению числа порядка.
Например, число +0,110010111х2-3 в памяти машины расположено следующим образом:
0 | 1 |
|
|
|
|
Нормализованное число двойной точности записывается в четыре слова памяти и отличается от представления чисел одинарной точности, т.е. продолжение мантиссы размещается в следующих за первым в трех последовательных словах памяти, рисунок 5.4.
Рисунок 5.4 – Представление числа с двойной точностью
При выполнении арифметических операций над числами, представленными в форме с плавающей запятой надо их выполнять отдельно для мантисс и для порядков. При алгебраическом сложении надо сначала уравнять порядки слагаемых, а потом выполнять операцию. При умножении порядки складываются, а мантиссы перемножаются. При делении из порядка делимого вычитают порядок делителя, а над мантиссами производят обычную операцию деления.
Введение термина «плавающая запятая» объясняется тем, что фактическое положение запятой в изображении числа корректируется всякий раз после выполнения операций, т.е. запятая в изображении числа плавает.
Дата добавления: 2021-03-18; просмотров: 350;