Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Способы представления чисел в разрядной сетке ЭВМ



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

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

Насмотрим пример сложения чисел:

00 11011 — первое слагаемое в прямом модифицированном коде

+

11 01011 — второе слагаемое в дополнительном модифици­рованном коде

00 00110 — сумма в прямом модифицированном коде

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

Еще один пример:

00 10110

+

00 11011

01 10001.

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

При суммировании отрицательных чисел также возможно переполнение разрядной сетки:

11 010011

+

11 100011

10 110110.

На переполнение указывает комбинация 10 в знаковых разрядах.

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

Некоторые машины устроены таким образом, что у всех вводимых в них чисел запятая стоит после заранее определенного фиксированного разряда. Они называются машинами с фиксированной запятой. К ним, например, относились первые модели ЭВМ «Минск-1» и многие другие. Такие машины оперируют с числами, которые по абсолютной величине меньше единицы, поэтому числа задаются своими дробными частями. Ноль, соответствующий разряду целых единиц, и запятая в машину не вводятся. Например, число 0,125 задается цифрами 125, а число 0,0625 — цифрами 0625. Дробные части десятичных чисел после ввода в электронную машину автоматически переводятся в двоичную систему счисления.

Для хранения одного двоичного числа в различных машинах используется разное количество разрядов, например, в «Минске-1» 31 разряд. Для хранения дробной части числа, переведенного в двоичную систему, используются 30 разрядов. Первый разряд является знаковым. Если число положительное, то машина задает в знаковый разряд 0, если отрицательное, то — 1. В машину «Минск-1» вводятся десятичные числа, содержащие в дробной части семь цифр. Например, число -0,0234375 задается в машине «Минск-1» как -0234375. После перевода в двоичную систему оно хранится в машине в следующем виде: 1000001100000000000000000000000.

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

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

Другие машины, например БЭСМ, оперируют с числами, представленными в нормализованной форме.

Любое число можно представить в виде произведения правильной дроби и целой степени основания системы счисления, в которой это число записано.

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

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

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

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.