Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема-4 Зан-1-(Арифм-основы-4).docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
106.1 Кб
Скачать

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

Десятичное число 0,00157 можно записать различными способами:

1,57*10-3;

или 1,570*10-3;

или 0,0016 (с округлением) и так далее.

Разнообразие форм записи одного и того же числа может послужить причиной неопределенностей или даже сбоев в работе различных цифровых устройств. Во избежание этого необходимо либо создать специальные алгоритмы распознавания числа, либо указывать каждый раз способ его записи. С точки зрения практической реализации второй путь проще. В связи с этим получили распространение две формы записи чисел: естественная и нормальная.

При естественной форме любое число записывается в естественном натуральном виде. Например: 123456 - целое число;

0,98765432 - правильная дробь;

678,54321 - неправильная дробь (смешанное число).

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

0,2483571 * 103, или 2483571*10-4, или 248357100*10-6 и так далее.

Во многих ЦЭВМ для представления каждого числа используется стандартная разрядная сетка, состоящая из заданного и неизменного количества двоичных разрядов. В этом случае говорят - в машинном представлении (изображении) числа.

Машинное представление (изображение) чисел - представление чисел в разрядной сетке цифрового устройства (автомата).

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

Требования к точности вычислений определяют выбор числа разрядов в разрядной сетке ЦЭВМ. В общем случае, в ЦЭВМ путем соответствующего увеличения числа разрядов может быть получена любая точность вычислений, однако это сопряжено с увеличением количества аппаратуры.

В зависимости от способа использования разрядной сетки различают две формы представления чисел:

  • естественную форму (с фиксированным положением запятой (точки)) и

  • нормальную форму (с плавающей запятой (точкой)).

Условно обозначим машинное изображение числа A символом [A]. В этом случае справедливо следующее соотношение: A = [A]*K,

где К - коэффициент, величина которого зависит от формы представления чисел в автомате.

4.1. Естественная форма представления чисел с фиксированным положением запятой.

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

Машины, в которых используется естественная форма представления чисел, называют машинами с фиксированной запятой.

Как правило, специализированные ЦЭВМ с фиксированной запятой оперируют числами, меньшими единицы (ЦЭВМ серии ЕС оперируют целыми числами).

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

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

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Рис.1.2. Формат числа с фиксированной запятой (точкой).

В знаковую часть записывается информация о знаке числа. Как правило, знак положительного числа «+» изображается символом «0», а знак отрицательного числа «-» изображается символом «1».

Диапазон представления целых чисел в этом случае лежит в пределах:

от - 2n до + (2n -1),

где n - количество разрядов в поле числа (без учета знакового разряда).

В результате производимых ЭВМ действий над числами (операций) могут получаться двоичные числа по абсолютной величине большие 0.1111…1 или меньшие 1.0000…01.

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

Без специальных мер коррекции такие результаты не могут использоваться для дальнейших вычислений, поскольку теряются старшие значащие разряды чисел.

В процессе ввода информации и ее обработки также могут появиться очень малые числа, не умещающиеся в разрядную сетку цифрового автомата. Минимальное число, которое можно записать в такую разрядную сетку, равно 2-n.

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

Минимальное по модулю число, представляемое в ЦЭВМ с фиксированной запятой, равно:

А min =

2 –n =

0,00…01(2)


а максимальное -

А max =

1 - 2 –n =

0,11…11(2)


Следовательно, диапазон представления правильных двоичных дробей

2 –n

А (2)

≤ 1 - 2 –n


где n – число цифровых разрядов правее запятой.

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

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

-1 < [А]ф < +1.

Говоря иными словами, на вход автомата желательно подавать либо целые числа, либо правильные дроби, либо любые числа в определенном диапазоне их изменений. Это условие позволяет определить конкретное значение масштабного коэффициента К. Например, если на вход цифрового автомата поступают только правильные дроби, то: -1 < [A]ф < 1,

где [A]ф - машинное изображение числа для формы представления с фиксированной запятой. Тогда число А будет представлено в виде: A = [A]ф*K.

Выбор масштабного коэффициента К, удовлетворяющего этому условию, означает, что в машинном изображении запятая всегда стоит перед старшим разрядом дроби.

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

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

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

Диапазон представления целых двоичных чисел в n-разрядной сетке машины заключен в пределах

0 ≤

А ц (2)

≤ 2 n -1


Диапазон представления целых десятичных чисел, представленных в двоично-десятичной системе счисления, в n-разрядной сетке машины заключен в пределах

0 ≤

А ц (2)

≤ 2 n/4 -1


Непосредственное применение в ЦЭВМ десятичной арифметики особенно выгодно, когда производятся сравнительно несложные вычислительные над большими массивами исходных данных. В этих случаях может быть существенным выигрыш во времени, затрачиваемом на вычисления, из-за отсутствия переводов чисел из десятичной системы счисления в двоичную и обратно.

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

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

Таким образом, недостатками представления чисел в формате с фиксированной запятой (точкой) являются:

  • необходимость в масштабировании данных;

  • низкая точность представления чисел, абсолютное значение которых мало.

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

Например, число + 359(10) = + 101100111(2) будет размещено в ячейке памяти следующим образом:

0.000000101100111.