Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы компьютерной арифметики и логики.doc
Скачиваний:
79
Добавлен:
10.11.2019
Размер:
6.48 Mб
Скачать

1.3. Представление чисел с фиксированной запятой (точкой)

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

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

При этом применяется естественная запись числа в виде последовательности цифр, у которой запятая фиксирована перед первым (старшим) цифровым разрядом. Слева от запятой отводится разряд (или два разряда) для изображения знака числа. Приняты следующие обозначения знака числа: “ + “ = 0 ;

“ – “ = 1 .

Таким образом, в знаковом разряде расположен 0, если число положительное, и 1, если число отрицательное.

Пример.

0,101101 – положительное число;

1,101101 – отрицательное число, совпадающее по модулю с приведенным выше положительным числом.

Достоинствами такого представления чисел являются простые арифметические операции, обеспечивающие высокое быстродействие ЭВМ.

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

,

где - количество разрядов, предназначенных для дробной части числа.

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

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

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

1.4. Представление чисел с плавающей запятой (точкой)

Любое число в позиционной системе счисления можно представить в следующем виде:

,

где - мантисса числа , причем ; - нуль или произвольное целое число, называемое порядком числа ; 10 – основание системы счисления.

Например, при двоичной записи мантиссы и порядка имеем:

N1 = + 0,101101 = + 0,101101100; (m1 = + 0,101101; p1 = 0);

N2 = – 1101,01 = – 0,11010110+100; (m2 = – 0,110101; p2 = +100);

N3 = + 0,000101 = + 0,10100010-11; (m3 = + 0,101000; p3 = –11).

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

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

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

Для его нормализации следует мантиссу сдвинуть влево до первой единицы в старшем разряде, а из порядка отнять число единиц, равное числу разрядов, на которое была сдвинута влево мантисса.

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

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

,

где - число разрядов абсолютной величины мантиссы; - число разрядов абсолютной величины порядка.

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