Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
g4.DOC
Скачиваний:
24
Добавлен:
25.11.2019
Размер:
5 Мб
Скачать
☆

1.4. Особенности машинной арифметики

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

16

1.4.1. Системы счисления

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

цепочкой десятичных цифр αi и βi, разделенных десятичной точкой:

x = ±αn…α1α0.β1β2… βm… (1.15)

Здесь каждой позиции (разряду), которую занимает цифра относительно десятичной точки, отвечает определенная степень числа 10. По существу, равенство (1.15) представляет собой принятое сокращение разложения числа x в сумму по степеням 10:

  1. = ±(αn⋅10n + … + α1⋅101 + α0⋅100 + β1⋅10−1 + β2⋅10−2 +… + βm⋅10−m + …). Пример 1.12. Запись x = 20.5 означает, что x = 2⋅101 + 0⋅100 + 5⋅10−1.

Для представления чисел в компьютере также используют позицион-ные системы счисления, однако основаниями систем служат, как прави-ло, степени числа 2. Это вызвано способом хранения чисел в устройствах памяти компьютера, каждое из которых можно рассматривать как набор однотипных элементов, способных находиться только в одном из двух возможных устойчивых состояний − «включен» или «выключен». Эти состояния интерпретируются как нулевое или единичное значение дво-ичной цифры. Наиболее распространены системы счисления с основани-ем 2 (базисная двоичная система счисления), 8 и 16.

Игнорируя некоторые малосущественные детали, будем считать, что все вычислительные машины работают в двоичной системе счисления. В ней вещественное число x по-прежнему записывается в виде (1.15), одна-ко αi и βi − уже двоичные цифры (0 или 1). В этом случае число x разла-

гается в сумму по степени числа 2:

x = ±(αn⋅2n + … + α1⋅21 + α0⋅20 + β1⋅2−1 + β2⋅2−2 +… + βm⋅2−m + …).

Пример 1.13. Запись x = 20.5 в двоичной системе счисления. Для это-

го разложим его в сумму по степени 2:

x = 1⋅24 + 0⋅23 + 1⋅22 + 0⋅21 + 0⋅20 + 1⋅2−1.

Опуская степени числа 2, получаем x = (10100.1)2. Здесь нижний индекс 2 указывает на основание системы счисления.

Для хранения числа в памяти компьютера отводится поле стандартной длины (машинное слово), в котором число записывают в виде последова-

17

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

1.4.2. Представление целых чисел

Целое число n представляют в виде

n = ±(αL⋅2L + … + α1⋅21 + α0⋅20),

(1.16)

где L − некоторое стандартное для компьютера целое число, αi − двоич-ные цифры. Всего для хранения числа n отводят s = L + 2 разрядов (один из них для хранения знака).

Из представления (1.16) видно, что максимальное по модулю целое число, представимое в компьютере, есть nmax = 2L + … + 21 + 20 = 2L+1 − 1. Обычно оно не очень велико. Например, при стандартном формате запи-

си целых чисел в компьютерах s = 32 и nmax = 231 − 1 ≈ 2⋅109.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]