Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы схемотехники и вычислительных систем.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
3.08 Mб
Скачать

1.5. Формы представления числовых данных

1.5.1. Общие положения

ЭВМ работают с двумя форматами данных: формат переменной длины и формат фиксированной длины.

Форматы переменной длины – это строки байт или бит. В команде строки задаются начальным адресом элемента строки и длиной (количеством элементов).

Форматы фиксированной длины имеют конечное число размеров, измеряемых в байтах или в словах (короткий, удвоенный и т.д.). Это основные форматы числовых данных, представленных в двоичной системе счисления и обрабатываемых параллельно по разрядам. Размеры операндов фиксированной длины в командах задаются по умолчанию (кодом операции).

Для представления числовых данных в формате фиксированной длины в ЭВМ используют две формы: с фиксированной запятой (точкой) и с плавающей запятой (точкой). В математике этим формам соответствуют естественная и нормальная формы записи

В современных ЭВМ используются обе формы представления чисел.

1.5.2. Представление числовых данных с фиксированной запятой

Арифметика с фиксированной запятой является вспомогательной в сфере научно-технических расчетов и основной в информационных технологиях. Она используется для подсчета циклов, формирования адреса по компонентам, выполнения логических операций над числами и отдельными разрядами и т.д. Все это –область применения целых чисел. Таким образом, форма представления чисел с фиксированной запятой в настоящее время применяется для представления целых чисел со знаком, целых чисел без знака или набора бит.

При представлении числовых данных в форме с фиксированной запятой для хранения и обработки чисел используются регистры с жесткой разрядной сеткой, в которых определены знаковые разряды, разряды целой части числа и разряды дробной части числа. Для каждой разрядной сетки определен диапазон чисел, представимых в данном формате. Числа, меньшие веса младшего разряда регистра, представляются нулями во всех разрядах. Это машинный нуль.

Особое значение в формате чисел с фиксированной запятой имеет выбор места запятой в разрядной сетке. В специализированных системах здесь нет проблем. Например, в конторских счетах, ориентированных на подсчет денег, запятая отделяет два десятичных разряда (разряды копеек) от остальных (разрядов рублей).

В универсальных системах эту проблему решают, фиксируя место запятой или перед самым старшим разрядом или после самого младшего разряда. В первом случае, все разряды отводятся под дробную часть числа (дробная арифметика), во втором – под целую часть числа (целочисленная арифметика). В любом случае при использовании этих систем программист должен производить процедуру масштабирования исходных и выходных данных.

Масштабирование данных – это выбор масштабов для данных, чтобы все входные и выходные данные могли быть выражены в виде дробных или целых чисел. Например, величину 5,6 метров (смешанное число) можно представить как 560 сантиметров (целое число) или как 0,0056 километра (дробное число).

Выбор между целочисленными и дробными вычислениями зависит от специализации вычислений.

В первых ЭВМ из класса малых ЭВМ, например, "Урал 1" и "Минск 1", форма данных с фиксированной запятой была единственной, и все вычисления велись в арифметике с фиксированной запятой. В этих условиях преимущества были на стороне дробной арифметики, так как в ней возможна блокировка увеличения разрядности результатов операции умножения (за счет округления).

Рассмотрим примеры операции умножения дробных и целых чисел в форме с фиксированной запятой. Для простоты воспользуемся десятичной системой счисления.

Пример 1. Умножение дробных чисел

0,35  0,35 = 0,1225  0,1200 = 0,12.

При умножении чисел их разрядность удваивается, что может привести к переполнению разрядной сетки. Но за счет округления можно представить результат умножения дробных чисел в пределах разрядной сетки исходных результатов.

Если исходные числа являются результатами измерений, то их точность определяется количеством разрядов их представления. Например, числа 0,35 и 0,350 отличаются тем, что первое число задано с точностью до двух, а второе – трех десятичных разрядов. Результаты любых арифметических операций не могут иметь большую точность, чем точность исходных данных. Следовательно, точность результат примера 1: 0,1225 определяется только первыми двумя цифрами после запятой и округление двух младших разрядов мало влияет на точность результата.

Пример 2. Умножение целых чисел.

35  35 = 1225 1200

Округление в данном случае не дает возможности уменьшить разрядную сетку результата, так как нули в младших разрядах для целых чисел являются обязательными цифрами, задающими порядок числа (весов разрядов).