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

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

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

16

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

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

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

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

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

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

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

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

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

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

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

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

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

Опуская степени числа 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 по модулю) и вычисления продолжаются далее.

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