Представление чисел в ЭВМ
Номера разрядов
Под весом разряда принято понимать количественное значение цифры данного разряда в числе. Фактически, вес разряда представляет собой множитель, на который умножается цифра этого разряда при получении значения числа.
Для системы счисления с основанием S вес i-го разряда определяется в виде:
Vi = Si .
Основание системы счисления показывает, во сколько раз вес i-ого разряда числа больше веса предыдущего (i-1)- го разряда.
Под основанием системы счисления можно понимать:
• Количество разнообразных цифр, используемых при записи чисел.
• Основание степени для определения веса разряда.
Запись значения основания в любой системе счисления имеет вид:
S = 10.
В учебнике «Прикладная теория цифровых автоматов» Савельева А.Я. доказывается, что оптимальной (с точки зрения затрат оборудования на представление и хранение чисел) является система счисления с основанием е ≈2,72.
Правило (алгоритм) перевода дробных чисел из десятичной системы в систему с основанием S
1. Перевод реализуется в виде последовательности шагов умножения исходного числа на первом шаге и получаемых в дальнейшем дробных частей произведения на основание новой системы S.
2. Произведение, получаемое на каждом шаге, содержит целую (возможно, нулевую) и дробную части. Целая часть произведения представляет собой очередную цифру дробного числа в системе с основанием S.
3. Цифры дробного числа в системе счисления S берутся по порядку их получения многократным умножением, то есть старшая цифра вырабатывается на первом шаге.
Процесс последовательных умножений завершается в одном из следующих случаев:
- на очередном шаге в дробной части произведения получен 0 (перевод осуществлен точно);
- при многократном умножении удалось выявить период дроби;
- когда получено необходимое количество цифр дробного числа.
Пример: 0, 375
* 2
0,750
* 2
1, 50
* 2
1,0
(0,375)10 = (0,011)2
Классификация данных, используемых в ЭВМ
В отношении данных достаточно широко используется термин «аппаратная поддержка». Принято считать, что данные некоторого типа в определенных форматах являются аппаратно-поддерживаемыми в рамках определенной модели компьютера (процессора), если в системе команд процессора имеются команды для обработки данных этого типа в соответствующих форматах.
Например, в базовой ЭВМ аппаратно поддерживаются целые знаковые числа в 16-битном формате.
Схема в виде дерева классификации
К основным типам нечисловых данных, обладающих аппаратной поддержкой, принято относить логические значения и символьные данные.
Для логических значений характерным свойством является их побитовая обработка, то есть каждый бит логического значения обрабатывается независимо от других битов формата. Как правило, отдельные биты логических значений объединяются в стандартные форматы, которые в терминологии фирмы Intel имеют следующие наименования:
Byte (B) байт – 8 бит;
Word (W) слово – 16 бит;
Double Word (DW) двойное слово– 32 бита;
Quadro Word (QW) учетверенное слово– 64 бита
Аппаратная поддержка логических значений реализуется на уровне логических команд, таких как:
AND – поразрядная конъюнкция (логическое И);
OR – поразрядная дизъюнкция (логическое ИЛИ);
XOR – исключительное «или» (для двух операндов операция XOR совпадает со сложением по модулю 2);
NOT – инверсия (логическое НЕ).
Символьные данные используются для представления в ЭВМ разнообразной текстовой информации.
В современных компьютерах для представления символьных данных используется код ASCII – American Standard Code for Information Interchange (Американский стандартный код для обмена информацией).
Аппаратная поддержка символьных данных в процессорах Intel 80X86 реализуется на уровне специальных команд обработки строк, основными из которых являются:
MOVS – пересылка строк;
CMPS – сравнение строк;
SCAS – сканирование строки.
Каждая команда обработки строк рассчитана на обработку одного элемента строки длиной в байт, слово или двойное слово, однако использование перед этими командами специального префикса REP (повторение) позволяет осуществлять обработку строки произвольной длины с заданным числом элементов. Использование команд обработки строк с префиксом REP можно рассматривать как аппаратную поддержку элементарной структуры данных типа «строка».