Арифметические основы ЭВМ - Студенческий научный форум

XI Международная студенческая научная конференция Студенческий научный форум - 2019

Арифметические основы ЭВМ

Куттина Е.В. 1
1БГУ им. Петровского
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

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

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

+999.999,

+999.998,

… …

+000.001

000.000,

-000.001,

… …

-999.999.

Отметим сразу несколько недостатков, присущих методу представления чисел с фиксированной запятой. В машине, работающей в режиме фиксированной запятой, диапазон чисел, отличающийся от нуля, относительно невелик (в нашем примере - от 0.001 до 999.999). Любое число, меньшее по абсолютной величине минимального положительного числа, представленного машиной, будет записано в машине как нуль. Это так называемый машинный нуль. Кроме того, любое число, полученное в результате вычислений, не должно превышать абсолютного значения максимального числа, которое может быть представлено машиной (для нашего примера результат не должен превышать 999,999): в противном случае более высокие цифры числа будут потеряны, а результат вычисления искажен. Такое явление называется переполнением разрядной сетки.

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

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

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

Ячейка памяти машины, содержащая число с фиксированной запятой, имеет знаковый разряд и цифровые разряды. Разряды ячейки нумеруются слева направо, начиная с нуля. Знак числа указывается в нулевом (знаковом) разряде ячейки следующим образом: плюс изображается нулем, а минус – единицей. Двоичная запись числа помещается в цифровые разряды ячейки (с первого по (n-1)-ый в n-рязрядной ячейке), причем каждый разряд числа записывается в строго определенном месте в зависимости от его удаления от запятой. Чаще всего запятая фиксируется перед первым (старшим) цифровым разрядом. Тогда, например, двоичное число +0.101100111000101 в шестнадцатиразрядной ячейке ЭВМ запишется следующим образом:

Просмотров работы: 46