Представление чисел в ЭВМ

Номера разрядов

 

Под весом разряда принято понимать количественное значение цифры данного разряда в числе. Фактически, вес разряда представляет собой множитель, на который умножается цифра этого разряда при получении значения числа.

Для системы счисления с основанием 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 можно рассматривать как аппаратную поддержку элементарной структуры данных типа «строка».