Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
2.10. ПРЕДСТАВЛЕНИЕ ДВОИЧНЫХ ЧИСЕЛ В ЭВМПод машинным изображением числа понимают представление числа А в разрядной сетке ЭВМ. Машинное изображение числа условно обозначают символом При этом
где коэффициент, величина которого зависит от формы представления числа в автомате. Под формой представления чисел в автомате понимают свод правил, позволяющий установить взаимное соответствие между записью числа и его количественным эквивалентом. Если произвольное вещественное число А таково, что то считают, что такое число точно представляется в машине при заданной форме представления чисел. Если же то произвольное вещественное число А может быть представлено в машине приближенно либо вообще не может быть представлено. При приближенном представлении вещественное число А заменяется некоторым числом , принадлежащим множеству машинных чисел. Множеству машинных чисел принадлежат только числа, кратные двум, так как любые два попарно соседних машинных числа отличаются друг от друга на величину где — количество разрядов. Число, отличное от нуля, но представленное в машине как нуль, т. е. число называют машинным нулем. Числа, большие Л щах. в машине также не могут быть представлены. В этом случае говорят о переполнении разрядной сетки. Существует три формы представления чисел: естественная, с фиксированной запятой и нормальная. Естественной формой записи числа называется запись числа в виде полинома, представленного в сокращенном виде:
При этом отсчет весов разрядов ведется от запятой. При естественной форме записи запятая ставится на строго определенном месте — между целой и дробной частью числа. Числа, представленные в такой форме, называют числами с естественной запятой. При этой форме представления для каждого числа необходимо указать положение его запятой в одном из разрядов кода, т. е. место положения запятой должно быть предусмотрено в каждом разряде, для чего необходимо дополнительное оборудование. Недостатки представления чисел в форме с естественной запятой обусловлены также усложнением арифметических цепей и трудностью оперирования с очень большими или очень малыми по абсолютной величине числами. Поэтому эту форму применяют лишь в калькуляторах, несмотря на привычность представления чисел. Необходимость в указании положения запятой полностью отпадает, если место запятой в разрядной сетке машины заранее фиксировано. Такая форма представления чисел называется представлением с фиксированной запятой. Поэтому машины, использующие запись чисел в этой форме, называются машинами с фиксированной запятой (точкой). Кроме записи (2.22) число можно представить в виде произведения целой степени основания системы и цифровой части, являющейся правильной дробью:
Такая форма записи называется нормальной, показатель степени при основании называется порядком числа, а цифровая дробная часть — мантиссой. Так как ограничений на величину мантиссы нет, то положение запятой в ней может меняться при соответствующем изменении порядка. В силу этого машины, использующие нормальную запись числа, называются машинами с плавающей запятой. Представление чисел в машинах с фиксированной запятойВ машинах с фиксированной запятой числа часто представлены в виде правильных дробей, т. е. запятую фиксируют перед старшим разрядом числа, причем числа, больше единицы, приводятся к такому виду при помощи масштабного коэффициента Представление чисел в виде правильных дробей обусловлено необходимостью уменьшить возможность переполнения разрядной сетки машины, т. е. уменьшить опасность потери значащих цифр старших разрядов при выполнении арифметических операций. Здесь учитывается тот факт, что результат умножения никогда не выходит за пределы разрядной сетки, если запятая расположена перед старшим разрядом. Но в этом случае результаты сложения и деления могут выйти за пределы разрядной сетки (при операции сложения — не более чем на один разряд, а операция деления встречается в среднем в 6 раз реже, чем умножение). Можно было бы оперировать только малыми числами, так как вероятность переполнения при их сложении мала. Однако это приводит к снижению точности представления чисел и точности вычислений. Поэтому всегда стремятся использовать числа, величины которых близки к максимальному значению. Однако при этом на них накладываются следующие ограничения: I) абсолютная величина суммы двух чисел должна быть меньше единицы; 2) делитель по абсолютной величине должен быть больше делимого. Нередко запятую фиксируют после младшего разряда числа. Тогда все данные представляются в виде целых чисел. В этом случае также необходимо масштабирование исходных данных. В ячейке машины с фиксированной перед старшим разрядом запятой число записывается в разрядную сетку в виде значащей части дроби со своим знаком, т. е. для записи позначной дроби разрядная сетка должна содержать разряд.
Отдельных разрядов для записи целой части числа (0) и запятой не выделяется, так как их положение обусловлено формой записи чисел. (При записи данных в виде целых чисел знак также является старшим разрядом). Знак числа обычно кодируется следующим образом: знаку соответствует 0 в знаковом разряде, знаку Величины чисел, представляемых в машинах с фиксированной перед старшим разрядом запятой, лежат в пределах
Причем числа, меньшие и большие машиной не воспринимаются. Область чисел, лежащих в пределах называется областью нечувствительности и определяется погрешностью представления чисел. Величины чисел, представленных при фиксации запятой после младшего разряда, лежат в пределах То есть в обоих случаях диапазон представления чисел в машине с фиксированной запятой равен
Например, при Представление чисел в машинах с плавающей запятойВ машинах с плавающей запятой числа представлены в нормальной форме
Для записи числа в ячейке машины отводятся разряд для фиксации порядка своим знаком и разряд для мантиссы, т. е. место, занимаемое в коде числа кодом мантиссы и кодом порядка, заранее фиксировано.
Для повышения точности записи чисел, мантиссы в машинах с плавающей запятой представлены в нормализованном виде, при котором диапазон представления мантиссы лежит в пределах для
т. е. старший разряд мантиссы есть всегда значащий. Для имеем . В свою очередь диапазон представления порядка числа лежнт в пределах
Следовательно, минимальное число для которое можно представить в ячейке машины, определится следующим образом:
и максимальное
(так как обычно велико, то ), Очевидно, что диапазон представимых чисел в машинах с плавающей запятой значительно больше, чем в машинах с фиксированной запятой:
Например, если из 38 разрядов займет порядок числа, а остальные 32 — мантисса, то диапазон представимых чисел составит:
Сопоставляя между собой две основные формы представления чисел в ЭВМ, можно прийти к следующим выводам. Диапазон представимых чисел в машинах с фиксированной запятой значительно меньше, чем в машинах с плавающей запятой, а точность вычислений зависит от величин исходных чисел. Программирование для машины с фиксированной запятой значительно сложнее, так как приходится вводить масштабные коэффициенты, чтобы избежать переполнения разрядной сетки при выполнении арифметических операций. При этом от правильности выбора масштабных коэффициентов зависит ошибка представления. Следовательно, их вычисление должно производиться таким образом, чтобы исключить возможность появления не только переполнений разрядной сетки, но и машинного нуля, что бывает порою сложно осуществить даже опытному программисту. Кроме того, необходимо помнить, что правильный результат алгебраического сложения возможен только для одинаковых масштабных коэффициентов, а операции умножения и деления формируют новые масштабные коэффициенты результатов. Однако машины с плавающей запятой конструктивно более сложны, так как необходимо вводить дополнительное оборудование для выполнения операций над порядками чисел, а также предусмотреть операцию нормализации и выравнивания порядков чисел. Плавающая запятая менее удобна, чем фиксированная, и в тех случаях, когда распределение разрядов в разрядной сетке не соответствует той схеме, которая заранее принята для чисел с плавающей запятой. Наиболее важный из этих случаев — это операции над командами. Кроме того, время выполнения операций над числами в машине с плавающей запятой больше, чем в машине с фиксированной запятой, что обусловлено необходимостью работы с порядками. Как и при фиксированной запятой, здесь возможно переполнение разрядной сетки, которое выражается в том, что результат какой-либо операции имеет порядок больше допустимого. Это приводит к аварийной ситуации. При выполнении операций возможно получение чисел, имеющих порядок меньше допустимого и нормализованную мантиссу. Эти числа рассматриваются как машинные нули, так же как и числа, имеющие нулевую мантиссу и допустимый порядок. Иногда нормальную форму представления чисел называют полулогарифмической, так как порядок числа выражен в логарифмической форме.
|
1 |
Оглавление
|