Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_Представление_информации_в_компьютере1.doc
Скачиваний:
27
Добавлен:
01.09.2019
Размер:
565.76 Кб
Скачать

Особенности реализации арифметических операций в конечном числе разрядов.

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

старшие (левые) цифры результата, выходящие за отведенное количество разрядов, оказываются утерянными;

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

Пример. Выполним сложение 10010 и 5110 в знаковом восьмиразрядном представлении. В этом представлении числа имеют следующий вид: 10010 = 0110 01002 и 5110 = = 0011 00112. При сложении этих чисел получим 1001 01112. Самая левая единица (знаковый разряд) указывает на то, что в 8 разрядах записано отрицательное число. Таким образом, в восьмиразрядной знаковой арифметике 100 + 51 = -105, т. е. при сложении двух положительных чисел мы получили отрицательное число!

Вопросы.

  1. Обоснуйте целесообразность представления особым образом в компьютере целых чисел.

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

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

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

  5. В восьмиразрядной ячейке запишите дополнительные коды следующих двоичных чисел: а) -1010; б) -1001; в) -11; г) -11011.

  6. Можно ли по виду дополнительного кода числа сказать, четно оно или нечетно?

  7. Найдите десятичные эквиваленты отрицательных чисел, записанных в дополнительном коде: а) 11000100; б) 11111001.

  8. Какие из чисел 4316, 1010102, 12910 и -13510 можно сохранить в одном байте (в 8 разрядах)?

  9. Получите 16-разрядное представление следующих чисел: а) 25; б) -610.

  10. Для чисел А = 11102, В = 11012 выполните следующие операции: А + В; А - В; В - А; -А - А; -В - В; -А - В (в восьмиразрядном знаковом представлении).

2. Представление вещественных чисел.

Вещественные числа в компьютере хранятся в формате с плавающей запятой (или в формате с плавающей точкой), который опирается на нормализованную форму записи чисел.

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

Допустим, мы имеем калькулятор, в котором на экране дисплея для вывода чисел есть только 10 знакомест (включая знак числа и запятую между целой и дробной частями десятичного числа). Если нам необходимо работать с числами: -6392000000; -639,2; -0,0000006392, то на дисплее нашего калькулятора отобразить удастся лишь второе из них (первое число занимает 11 знакомест, второе — 6 знакомест, третье — 13 знакомест). Эта задача может быть решена, если числа представить несколько иначе: -6.392Е+9 -6.392Е+02 -6.392Е-07, где знак «Е» читается как «умножить на десять в степени». Такая запись отражает экспоненциальную форму записи чисел.

Определение 3. Любое число a в экспоненциальной форме представляется в виде a=±m × Pq, где Р — основание системы счисления, т называется мантиссой числа, q — порядком числа.

Определение 4. Нормализованная запись отличного от нуля вещественного числа — это запись вида a=±m × Pq, где q — целое число (положительное, отрицательное, или ноль), а m — правильная Р-ичная дробь, у которой первая цифра после запятой не равна нулю, т. е. 1/Р <= m < 1.

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

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

Пример: Приведем примеры нормализации чисел:

  1. 0 = 0,0 × 10 (возможная нормализация нуля);

  2. 3,1415926 = 0,31415926 × 101 (количество значащих цифр не изменилось);

  3. 1000 = 0,1 × 104 (количество значащих цифр уменьшилось с четырех до одной);

  4. 0,123456789 = 0,123456789 × 100 (запятую передвигать не нужно);

  5. 0,00001078 = 0,1078 × 8-4 (количество значащих цифр уменьшилось с семи до трех);

  6. 1000,00012 = 0,100000012 × 24 (количество значащих цифр уменьшить невозможно);

  7. AB,CDEF16 = 0,ABCDEF16 × 162 (количество значащих цифр уменьшить невозможно).

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

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

Пример :

  1. Число 248,53786 в калькуляторе превращается в +2.485Е+02. Переводя последнее число в привычное представление с фиксированной запятой, получим +248,5

  2. Число -2485378600,0 в калькуляторе превращается в -2.485Е+09. Переводя последнее число в привычное представление с фиксированной запятой, получим -2485000000.

  3. Число 0,00024853786 в калькуляторе имеет вид +2.485Е-04, т. е. равно числу 0,0002485.

Следовательно, всякое десятичное число, состоящее не более чем из четырех значащих цифр в нормализованном виде, можно представить в таком калькуляторе точно, а остальные числа — лишь приближенно. В первом пункте примера погрешность калькуляторного представления исходного числа составила 248,53786 - 248,5 = 0,03786. Во втором пункте погрешность равна 2485378600 - 2485000000 = 378600, а в третьем — 0,00024853786 - 0,0002485 = 0,00000003786. Если бы мантисса калькулятора имела больше цифр, погрешность была бы меньше.

Определение 5. Модуль разности между значением числа x и неким его представлением х* (компьютерным, калькуляторным) называется абсолютной погрешностью представления х.

Определение 6. Относительной погрешностью представления х называют величину

Несмотря на то, что в абсолютном исчислении погрешность может быть значительно больше 1, относительно величины самого числа ее порядок остается неизменным. Относительная погрешность представления чисел в примере равна: 0,03786/248,53786 = 0,00015233... 378600/2485378600 = 0,00015233... 0,00000003786/0,00024853786 = 0,00015233...

Вопрос. Что нам дает знание величин абсолютной и относительной погрешности при решении реальных задач на компьютере?

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

Относительная же погрешность показывает, сколько верных старших значащих цифр содержит результат. В примере 9 относительная погрешность представления разных по величине чисел равна 0,00015233... Такая относительная погрешность означает, что мы имеем три безусловно верные значащие цифры результата. Значение относительной погрешности непосредственно связано с количеством разрядов, отводимых для представления мантиссы нормализованного числа.

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

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