
- •Омский государственный технический университет
- •1. Из истории развития систем счисления
- •Пальцевый счет
- •1.2. Древнеегипетская система счисления
- •Вавилонская система счисления
- •1.4. Системы счисления, основанные на позиционном принципе
- •1.5. Системы счисления Древней Греции
- •1.6. Римская система счисления
- •1.7. Древнеславянская система счисления
- •2. Позиционная система счисления
- •2.1. Представление произвольного числа в позиционной системе счисления
- •2.2. Двоичная система счисления
- •2.3. Восьмеричная система счисления
- •2.4. Шестнадцатеричная система счисления
- •2.5. Перевод чисел в систему с кратным основанием
- •2.6. Перевод правильной дроби
- •Задания для самостоятельной работы №1
- •1. Перевести данное число из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления.
- •2. Перевести данное число в десятичную систему счисления.
- •Контрольная работа №1
- •3. Двоичная арифметика
- •3.1. Сложение двоичных чисел
- •3.2. Вычитание двоичных чисел
- •3.3. Умножение в двоичной системе счисления
- •3.4. Деление двоичных чисел
- •4. Формы представления чисел в эвм
- •4.1. Числа с фиксированной запятой
- •4.2. Числа с плавающей запятой
- •4.3. Сложение (вычитание) чисел с плавающей запятой
- •4.4. Умножение чисел с плавающей запятой
- •4.5. Прямой код
- •4.6. Обратный код
- •1 0111111111111111 – Обр. Код второго числа
- •4.7. Дополнительный код
- •4.8. Признак переполнения разрядной сетки
- •4.9. Правило перевода из дополнительного кода в десятичную систему
- •4.10. Модифицированные коды
- •5. Форматы чисел в эвм
- •Задания для самостоятельной работы №2
- •Контрольная работа №2.2
- •Контрольная работа №2.3
- •Контрольная работа №2.4
- •6. Кодирование алфавитно-цифровой информации
- •6.1. Параметры алфавитно-цифровой информации
- •6.3. Стандарты кодирования символов ansi, кои-8 и unicode
- •7. Двоично-десятичные коды
- •7.2. Коды с избытком
- •7.5. Действия над двоично-десятичными числами
- •7.6. Сложение двоично-десятичных чисел
- •7.7. Вычитание модулей двоично-десятичных чисел
- •7.8. Умножение модулей двоично-десятичных чисел
- •8. Код грея
- •8.1. Строение кода Грея
- •8.2. Использование кода Грея
- •8.3. Алгоритмы преобразования кода Грея
- •9. Погрешности вычислений
- •9.1. Источники погрешностей
- •9.2. Абсолютная и относительная погрешности
- •9.3. Десятичная запись приближенных чисел Значащая цифра числа. Верная значащая цифра
- •9.4. Распространение ошибок
- •9.5. Правила подсчета цифр
- •9.6. Общие рекомендации, позволяющие уменьшить погрешность вычислений
- •9.7. Ошибки в программах, связанные с особенностью выполнения арифметических операций
- •10. Представление графической информации
- •10.1. Текстовый режим
- •10.2. Графический режим
- •10.3. Растровое графическое изображение
- •10.4. Векторная графика
- •10.5. Форматы графических файлов
- •11. Представление звуковой информации
- •11.1. Цифро-аналоговое и аналого-цифровое преобразование звуковой информации
- •11.2. Компрессия звука
- •11.3. Формат Microsoft riff
- •11.6. Midi-форма звука
- •11.7. Аппаратные синтезаторы
- •11.8. Альтернативы звука в эвм
- •11.9. Звуковые платы
- •Задачи для самостоятельной работы
- •Приложение 3
- •Содержание
- •Литература
9.2. Абсолютная и относительная погрешности
Абсолютная
ошибка
есть разница между истинным значением
величины
(считая это истинное значение известным)
и ее приближенным значением
.
Относительная
ошибка
определяется, как отношение абсолютной
ошибки к приближенному значению величины.
Казалось бы, что более естественно
определить ее, как отношение абсолютной
ошибки к точному значению, но обычно
точное значение нам неизвестно. Все,
что обычно бывает известно, – это
приближенное значение величины и оценка
ошибки или границы
максимально возможной величины ошибки.
Если ошибка мала, то разница в определениях
не скажется на численной величине
относительной ошибки.
Для величин, близких по значению к единице, абсолютная и относительная ошибки почти одинаковы. Для очень больших или очень малых величин относительная и абсолютная ошибки представляются совершенно разными числами.
Если из условия задачи или из контекста не ясно, какая ошибка имеется в виду, то чаще считают, что ошибка относительная.
9.3. Десятичная запись приближенных чисел Значащая цифра числа. Верная значащая цифра
Пусть приближенное число задано в виде конечной позиционной записи:
,
(9.1.)
где
– десятичные цифры
.
Значащими цифрами числа называются все цифры в его десятичном изображении, отличные от нуля, и нули, если они содержатся между значащими цифрами или расположены в конце числа и указывают на сохранение разряда точности. Нули, стоящие левее первой отличной от нуля цифры, не являются значащими цифрами. (Например, числа 25.047 и 0.00250 имеют соответственно 5 и 3 значащих цифр.)
Любое число
может быть представлено в виде:
,
где
некоторое целое число, называемое
порядком числа
,
- основание системы счисления,
– число, называемое мантиссой числа
.
Если выполнено условие
,
то говорят, что число
записано в нормализованном виде.
Пример 9.1.
Рассмотрим
представления числа
.
Система счисления |
Позиционная запись |
Запись числа в нормализованном виде |
Двоичная |
10000000000 |
|
Десятичная |
1024 |
|
При решении задач очень часто ставится условие: вычислить результат с точностью до одной десятой, одной сотой и т.д. Создается впечатление, что точность вычислений определяется числом верных десятичных знаков после запятой. Это не так, число десятичных знаков зависит от единицы измерения. Остановимся на этом подробнее.
Цифра называется верной, если абсолютная погрешность числа не превосходит одной единицы соответствующего разряда десятичного числа.
Если приближенное
число записывается без указания его
предельной абсолютной погрешности, то
выписываются только его верные цифры
(знаки). При этом верные нули на правом
конце числа не отбрасываются. Например,
числа 0.0344 и 0.034400, как приближенные,
различны. Относительно первого числа
можно только утверждать, что его
абсолютная погрешность не превосходит
,
а из записи второго числа явствует, что
его абсолютная погрешность не больше
чем
.
В том случае, когда
у приближенного числа значащих цифр в
целой части больше чем имеется верных
знаков, то прибегают к записи в
нормализованном виде. Например,
.
Из этой записи понятно, что у числа
три верные значащие цифры. В данной
ситуации запись вида А = 39000 недопустима.
В нормализованном виде можно записать
и рассмотренные выше приближенные
числа:
.
Можно говорить о числе верных значащих цифр у приближенного числа и о числе верных цифр после запятой. Как правило, при реальных вычислениях у приближенных чисел содержатся цифры после запятой, т.е. имеется дробная часть. Например, приближенное число А=25.030 имеет 5 верных значащих цифр, и 3 верные цифры после запятой, а у числа В=0.00230, наоборот, 3 верные значащие цифры и 5 верных цифр после запятой.
Абсолютная погрешность приближенного числа характеризуется числом верных цифр после запятой, а относительная погрешность – числом верных значащих цифр.
Точность вычисления – это относительная погрешность результата, поэтому она определяется не числом верных десятичных знаков после запятой, а числом верных значащих цифр результата.
Принципиальное ограничение на выполнение арифметических вычислений накладывает способ представления чисел в памяти ЭВМ. В памяти компьютера действительные числа представляются в нормализованном виде, т.е. первая значащая цифра мантиссы не равна нулю. Записи чисел с одинарной точностью (4 байта) соответствует для компьютеров IBM PC примерно 7 цифр в десятичном представлении мантиссы, а записи с двойной точностью (8 байт) соответствует 14 цифр в мантиссе. Порядок изменяется от –37 до +37 для одинарной точности и от –63 до +63 для двойной точности.
При представлении действительных чисел в памяти ЭВМ возникают ошибки, обусловленные тем, что дробное десятичное число не всегда точно представимо в двоичной системе счисления (Например, дробь 1/10 имеет конечное десятичное представление 0.1, но, будучи переведена в двоичную систему счисления, становится бесконечной дробью 0.000110011001100…). Поэтому в ЭВМ нельзя представить не только все трансцендентные и иррациональные числа, но и даже все рациональные числа. ЭВМ позволяет представить лишь конечное подмножество действительных чисел. При этом особо выделяется множество целых чисел, для которых в ЭВМ, как правило, используется специальный способ представления. Происходит раздвоение множества целых чисел. Одно и то же целое число можно представить как:
– машинное целое число;
– машинное число с плавающей точкой.
Во многих языках программирования логическое выражение 7.EQ.7.0 не обязательно является истинным. Это объясняется тем, что в ЭВМ используются различные способы представления целых чисел и чисел с плавающей точкой. Таким образом, один и тот же набор битов может интерпретироваться по-разному. Например, 32 бита для обычных целых и вещественных чисел в Фортране могут интерпретироваться как:
a) машинное целое число: 1 бит обозначает знак числа, а остальные 31 бита отводятся под позиционную запись 31-значного целого числа, в двоичной системе счисления;
b) машинное число с плавающей точкой: 1 бит обозначает знак числа, остальные 31 битов отводятся для записи значения числа, представленного в экспоненциальном виде в двоичной системе счисления, при этом под смещенный порядок отводится 8 битов, а под мантиссу 23.
При использовании двойной точности под запись числа отводится 64 бита. Для целых чисел: 1 бит – знак, остальные 63 бита – позиционная запись числа в двоичной системе счисления. Для чисел с плавающей точкой: 1 бит – знак числа, 63 бита – экспоненциальная запись числа в двоичной системе счисления (11 бит – смещенный порядок, 52 бита – мантисса).
Значение смещенного
порядка числа вычисляется по формуле
,
где
– порядок числа, а
– количество бит, которое отводится
под запись порядка числа.
Ниже приводятся примеры представления нескольких чисел в памяти ЭВМ.
Пример 9.2.
Число
:
:
машинное целое 00000000000000000000010000000000;
машинное число с плавающей точкой
01000100100000000000000000000000.
Отметим, что
.
Пример 9.3.
Число
,
машинное целое 10000000000000000000010000000000;
машинное число с плавающей точкой
11000100100000000000000000000000.
Пример 9.4.
Число
,
(
)
машинное число с плавающей точкой
00111010100000000000000000000000.
Пример 9.5.
Число
:
,
(
)
машинное число с плавающей точкой
00111100111000000000000000000000.
Пример 9.6.
Число
:
,
(
)
машинное число с плавающей точкой
00111110111000000000000000000000.
Пример 9.7.
Число
:
,
(
)
машинное число с плавающей точкой 00111110111000000000000000000000.
Пример 9.8.
Число
:
,
(
)
машинное число с плавающей точкой
01000001010001110000000000000000.