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 (за исключением числа ноль). Величина же числа (т. е. ее порядок) указывается отдельно, с помощью соответствующей степени основания системы счисления, в которой это число было записано изначально. Количество цифр в мантиссе может оказаться меньше, чем число значащих цифр в исходном числе. Часто в нормализованной записи мантисса Р-ичного числа записывается в Р-ичной системе счисления, а порядок и само число Р — в десятичной.
Пример: Приведем примеры нормализации чисел:
0 = 0,0 × 10 (возможная нормализация нуля);
3,1415926 = 0,31415926 × 101 (количество значащих цифр не изменилось);
1000 = 0,1 × 104 (количество значащих цифр уменьшилось с четырех до одной);
0,123456789 = 0,123456789 × 100 (запятую передвигать не нужно);
0,00001078 = 0,1078 × 8-4 (количество значащих цифр уменьшилось с семи до трех);
1000,00012 = 0,100000012 × 24 (количество значащих цифр уменьшить невозможно);
AB,CDEF16 = 0,ABCDEF16 × 162 (количество значащих цифр уменьшить невозможно).
При записи нормализованного числа в компьютере или калькуляторе для записи мантиссы и порядка отводится заранее фиксированное количество разрядов.
В компьютерном представлении вещественных чисел максимально допустимое количество цифр в мантиссе определяет точность, с которой может быть представлено число.
Пример :
Число 248,53786 в калькуляторе превращается в +2.485Е+02. Переводя последнее число в привычное представление с фиксированной запятой, получим +248,5
Число -2485378600,0 в калькуляторе превращается в -2.485Е+09. Переводя последнее число в привычное представление с фиксированной запятой, получим -2485000000.
Число 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... Такая относительная погрешность означает, что мы имеем три безусловно верные значащие цифры результата. Значение относительной погрешности непосредственно связано с количеством разрядов, отводимых для представления мантиссы нормализованного числа.
На практике обычно известна относительная погрешность представления чисел, так как разрядность мантиссы фиксирована. Следовательно, можно предположить, сколько верных цифр содержит результат. Если из каких-то априорных соображений известно значение вычисляемой величины, то можно оценить абсолютную погрешность результата.
- Представление информации в компьютере. Представление информации в компьютере.
- 1. Представление целых чисел.
- 1.1. Представление целых положительных чисел.
- Вопрос 1. Можно ли в 8-ми разрядной ячейки представить со знаком число 200?
- 1.2. Представление целых отрицательных чисел.
- Алгоритм получения дополнительного k-разрядного кода отрицательного числа
- Особенности реализации арифметических операций в конечном числе разрядов.
- 2. Представление вещественных чисел.
- Представление вещественных чисел в формате с плавающей точкой
- Выполнение арифметических операций над вещественными числами.
- Особенности реализации вещественной компьютерной арифметики.
- 3. Представление текстовой информации.
- 4. Представление графической информации.
- Общие подходы к представлению в компьютере информации естественного происхождения.
- Векторное и растровое представление графической информации.
- Квантование цвета.
- Цветовая модель rgb.
- Цветовая модель cmyk.
- Цветовая модель hsb.
- 5. Представление звуковой информации.
- Понятие звукозаписи.
- Импульсно – кодовая модуляция.
- Формат midi.
- Принципы компьютерного воспроизведения звука.
- 6. Методы сжатия цифровой информации.
- 6.1. Алгоритмы обратимых методов.
- Метод упаковки
- Алгоритм Хаффмана
- Алгоритм построения дерева Хаффмана
- Алгоритм rle
- Алгоритмы Лемпеля-Зива.
- 6.2. Методы сжатия с регулируемой потерей информации.
- Алгоритм jpeg
- Алгоритм мрз
- Алгоритмы mpeg
- Выводы.