Представление информации в ЭВМ
Формы представления числовой информации
Число 0,028 можно записать так: 28·10-3, или 0,03 (с округлением), или 2,8·10-2и т. д. Разнообразие форм в записи одного числа может послужить причиной затруднений для работы цифрового автомата. Во избежание этого нужно либо создать специальные алгоритмы распознавания числа, либо указывать каждый раз форму его записи. Второй путь проще.
Существует две формы записи чисел: естественная и нормальная. При естественной форме число записывается в естественном натуральном виде, например 12560 – целое число; 0,003572 – правильная дробь; 4,89760 – неправильная дробь. При нормальной форме запись одного числа может принимать разный вид в зависимости от ограничений, накладываемых на ее форму. Например, число 12560 может быть записано так:
12560 = 1,256·104=0,1256·105=125600·10-1и т. д.
Автоматное (машинное) изображение числа– представление числа А в разрядной сетке цифрового автомата. Условно обозначим автоматное изображение числа символом [А]. Тогда справедливо соотношение
А = [А]КА,
где КА– коэффициент, величина которого зависит от формы представления числа в автомате.
Представление числовой информации в цифровом автомате, как правило, влечет за собой появление погрешностей (ошибок), величина которых зависит от формы представления чисел и от длины разрядной сетки автомата.
Абсолютная погрешность представления – разность между истинным значением входной величины А и ее значением, полученным из машинного изображения Ам, т. е
[А] = А – Ам.
Относительная погрешность представления – величина
[А] = [А]/Ам.
Входные величины независимо от количества значащих цифр могут содержать грубые ошибки, возникающие из-за опечаток, ошибочных отсчетов показаний каких-либо приборов, некорректной постановки задачи или отсутствия более полной и точной информации. Например, часто принимают = 3,14. Однако эта величина может быть получена с более высокой точностью. Если принять, что точное значение =3,14139265, то абсолютная погрешность равна [] =0,00159265 .
Представление чисел с фиксированной запятой (точкой)
Естественная форма представления числа в цифровом автомате характеризуется тем, что положение его разрядов в автоматном изображении остается всегда постоянным независимо от величины самого числа. Существует также другое название этой формы записи чисел – представление чисел с фиксированной запятой (точкой).
Чтобы упростить функционирование цифрового автомата, необходимо ограничить входную информацию какой-то одной областью чисел (на вход автомата желательно подавать либо целые числа, либо правильные дроби, либо любые числа), что позволит определить значения масштабного коэффициента КА. Например, если на вход цифрового автомата поступают только правильные дроби, то
-1 < [Аф] < 1, (2.1)
где [Аф] – машинное изображение числа для формы представления с фиксированной запятой.
Тогда число А будет представлено в виде А = [Аф]КА.
Величина масштабного коэффициента КА, удовлетворяющего условию формулы (2.1), определяет тот факт, что в машинном изображении запятая всегда стоит после целой части дроби, т. е. перед ее старшим разрядом. Следовательно, можно хранить только дробную часть числа (цифровую часть), а в разряде целой части писать дополнительную информацию.
Рис. 5. Представление чисел в форме с фиксированной запятой
Так как числа бывают положительные и отрицательные, то формат 5 (разрядная сетка) автоматного изображения разбивается на знаковую часть и поле числа (рис. 5, а). В знаковую часть записывается информация о знаке. Примем, что знак положительного числа “+” изображается символом 0, а знак отрицательного числа “–” изображается символом 1.
Если на вход цифрового автомата поступают целые числа, то в разрядной сетке (в формате машинного изображения) один разряд отводится под знак числа, а последующие разряды образуют поле числа. Диапазон представляемых чисел в этом случае от –(2n–1) до +(2n–1), где n—количество разрядов без знаковой части.
Задачу выбора масштабного коэффициента КАусложняет необходимость сохранять соответствие разрядов всех чисел, которыми оперирует цифровой автомат. Пусть имеется цифровой автомат с разрядной сеткой длиной 12 двоичных разрядов (рис. 5, а). Надо определить масштабный коэффициент для чисел А1= –1011,01111102и А2=0,1100011012.
Для того чтобы выполнить условие формулы (2.1), необходимо число, большее по абсолютному значению, записать в виде А1= –0,10110111110·24. Отсюда [А1]ф=1,10110111110, что соответствует величине масштабного коэффициента КА1=24. Число А2должно войти в разрядную сетку автомата с сохранением соответствия разрядов, т. е. . Следовательно:
А2=+0,0000110001101·24или [А2]ф= 0,00001100011 (рис. 5, б, в).
Из примера видно, что представление чисел в форме с фиксированной запятой может привести к погрешности представления. Так, для числа А2абсолютная погрешность представления оценивается величиной части числа, не уместившейся в разрядную сетку, т. е. величиной 0,0000000000001·24. В некоторых случаях очень малые числа представляются в машине изображением, называемым машинным нулем. Следовательно, ошибка представления зависит от правильности выбора масштабных коэффициентов. Вычисление последних должно проводиться таким образом, чтобы исключить возможность появления в процессе функционирования автомата чисел, машинные изображения которых не удовлетворяют условию формулы (2.1). Если в результате операции появится число, по абсолютному значению большее единицы, то возникает переполнение разрядной сетки автомата, что нарушает нормальное функционирование цифрового автомата.