Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
с. работа - Логика.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
2.16 Mб
Скачать

2.10. Представление двоичных чисел в эвм

Под машинным изображением числа понимают представление чис­ла А в разрядной сетке ЭВМ.

Машинное изображение числа условно обозначают символом [А]. При этом

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

Если произвольное вещественное число А' таково, что А' = = [A]Ka, то считают, что такое число точно представляется в машине при заданной форме представления чисел. Если же А' А Ка , то произвольное вещественное число А' может быть представлено в ма­шине приближенно либо вообще не может быть представлено. При приближенном представлении вещественное число А' заменяется не­которым числом [А], принадлежащим множеству машинных чисел. Множеству машинных чисел принадлежат только числа, кратные двум, так как любые два попарно соседних машинных числа отличают­ся друг от друга на величину , где п — количество разрядов. Число, отличное от нуля, но представленное в машине как нуль, т. е. число А | < Amin, называют машинным нулем. Числа, большие Amaх, в машине также не могут быть представлены. В этом случае говорят о переполнении разрядной сетки.

Существует три формы представления чисел: естественная, с фикси­рованной запятой и нормальная. Естественной формой записи числа называется запись числа в виде полинома,

представленного в сокращен­ном виде:

П ри этом отсчет весов разрядов ведется от запятой. При естествен­ной форме записи запятая ставится на строго определенном месте — между целой и дробной частью числа.

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

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

К роме записи (2.22) число можно представить в виде произведения целой степени основания системы и цифровой части, являющейся правильной дробью:

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

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

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

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

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

В ячейке машины с фиксированной перед старшим разрядом запя­той число записывается в разрядную сетку в виде значащей части дроби со своим знаком, т. е. для записи n-значной дроби разрядная сетка должна содержать п + 1 разряд.

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

Знак числа обычно кодируется следующим образом: знаку «+» соответствует 0 в знаковом разряде, знаку «—» — 1.

Величины чисел, представляемых в машинах с фиксированной перед старшим разрядом запятой, лежат в пределах

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

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

Т о есть в обоих случаях диапазон представления чисел в машине с фиксированной запятой равен

Представление чисел в машинах с плавающей запятой

В машинах с плавающей запятой числа представлены в нормальной форме

Для записи числа в ячейке машины отводятся k + 1 разряд для фиксации порядка со своим знаком и п + 1 разряд для мантиссы, т. е. место, занимаемое в коде числа кодом мантиссы и кодом порядка, заранее фиксировано.

Для повышения точности записи чисел, мантиссы в машинах с плавающей запятой представлены в нормализованном виде, при котором диапазон представления мантиссы лежит в пределах для р = 2:

т. е. старший разряд мантиссы есть всегда значащий.

Для имеем

В свою очередь диапазон представления порядка числа лежит в пределах

Следовательно, минимальное число для р = 2, которое можно представить в ячейке машины, определится следующим образом:

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

(так как п обычно велико то ).

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

Например, если из 38 разрядов 5 + 1 займет порядок числа, а остальные 32 — мантисса, то диапазон представимых чисел составит:

Сопоставляя между собой две основные формы представления чи­сел в ЭВМ, можно прийти к следующим выводам.

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

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

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

Иногда нормальную форму представления чисел называют полу­логарифмической, так как порядок числа рт выражен в логарифмиче­ской форме.