
3514-МЛОИ-Лк03.ppt
- Количество слайдов: 15
Лекция № 3 Тема: ПРЕДСТАВЛЕНИЕ ЧИСЛОВОЙ ИНФОРМАЦИИ В КОМПЬЮТЕРЕ
Учебные вопросы: 1. 2. Представление дробных чисел в памяти компьютера. Особенности реализации вещественной компьютерной арифметики.
1. Представление дробных чисел в памяти компьютера 3, 14 = 31, 4 x 10 -1= 314 x 10 -2 =… 3, 14 = 0, 314 x 101= 0, 0314 x 102 =… нормальная дробь Дробные числа представляются в памяти компьютера в так называемой форме "с плавающей точкой" (запятой), представленных в виде: m 10±p, где m - мантисса числа, р – порядок числа. Такая форма представления чисел называется экспоненциальной.
Форматы представления дробных чисел • • real single double extended Порядок в представлении характеристикой. числа заменяют Характеристика = порядок + 6410 или +4016. Если порядок числа меняется от - 32 до +32, то характеристика будет меняться от 0 до 64, то есть она всегда будет положительной.
Любое число с плавающей точкой всегда можно нормализовать и записать в виде 0. fff x En, где 0. fff - мантисса ("значащая часть") по основанию E, а n – порядок числа. Прием "скрытого бита". Поскольку результирующая значащая часть мантиссы всегда имеет нулевой старший бит, хранить его в памяти было бы избыточно; вместо 0, fff можно записать просто fff, где 0 подразумевается. В результате точность представляемого числа возрастает, так как его представление "удлиняется" на 1 бит.
Пример 1. Представьте число 1008, 510 в памяти ПК. 1) Переводим это число в шестнадцатеричную систему счисления: 2008, 510 = 3 F 0, 816. 2) Нормализуем мантиссу и находим порядок: m = 0, 3 F 08 162 p = 316 3) Вычисляем характеристику: Px = 4016 + 316 = 4316 4) Используя специальные методы, запишем число в разрядную сетку:
Пример 2. Представьте число -3451, 0510 в памяти ПК. 1) Переводим это число в шестнадцатеричную систему счисления: - 3451, 0510 = - D 7 B, 0(C)16. 2) Нормализуем мантиссу и находим порядок: m = - 0, D 7 B, 0(C) 163 p = 316 3) Вычисляем характеристику: Px = 4016 + 316 = 4316 4) Используя специальные методы, запишем число в разрядную сетку:
Пример 3. Представьте число 125, 00110 в памяти ПК. 1) Переводим это число в шестнадцатеричную систему счисления: 125, 00110 ≈ 7 D, 0041816. 2) Нормализуем мантиссу и находим порядок: m = 0, 7 D 00418 162 ≈ 0, 7 D 0042 162 p = 216 3) Вычисляем характеристику: Px = 4016 + 216 = 4216 4) Используя специальные методы, запишем число в разрядную сетку:
2. Особенности реализации вещественной компьютерной арифметики Ситуации, приводящие к неточности вычислений в памяти компьютера 1. Потеря значащих цифр мантиссы у меньшего из чисел при выравнивании порядков При сложении и вычитании вещественных чисел могут быть утеряны все значащие цифры меньшего числа, т. е. а ± b а Пример 1: выполните сложение двух вещественных чисел 0, 23619 103 и 0, 91824 10 -3 103 0, 23619 + 103 0, 00000091824 103 0, 23619091824 После сложения в мантиссе оказалось более 6 -ти значащих цифр, поэтому будет округление результата до 0, 236191 103
2. Потеря крайней справа значащей цифры результата при сложении и вычитании При сложении и вычитании двух чисел количество значащих цифр может увеличиваться на одну. Это влияет на точность, а не на правильность результата Пример 2: при сложении пятнадцатиразрядных мантисс 0, 1111100000111112 + 0, 1001001002 = 1, 1000101010000112 Количество значащих цифр стало равным 16. После округления и нормализации результат будет равен: 0, 110001010100010 21
3. Выход за границу допустимого значений при нормализации результата диапазона Данная ситуация возникает, если порядок результата оказывается либо больше максимально возможного значения, либо меньше минимально возможного. В этом случае чаще всего выполнение программы прерывается с сообщением «арифметическое переполнение» . Пример 3: выполните сложение 0, 12 2127 + 0, 12 2127 = 0, 12 2128 В этом случае результат считается не представимым
4. Получение «не представимого» результата Ситуация, приводящая к неточности вычислений при выполнении умножения/деления вещественных чисел, соответствует указанному выше «арифметическому переполнению» . Однако в современном 80 -разрядном представлении вещественных чисел диапазон допустимых порядков достаточно велик. Поэтому такое сообщение компьютера означает, что программа составлена неверно. Пример 4: выполните умножение двух вещественных чисел 0, 23000 103 и 0, 95000 107 При умножении двух вещественных чисел в представлении с плавающей запятой порядки складываются, а мантиссы перемножаются. Получим: 0, 21850 1010
5. Потеря младших значащих цифр результата а) при перемножении двух n - значных мантисс может получиться число из 2 n значащих цифр, половина из которых будет сохранена в результате. При операции деления количество цифр в частном может оказаться бесконечным и лишь первые n из них будут сохранены; б) при операции умножения возможна потеря n–й младшей значащей цифры результата при сдвиге мантиссы на один разряд влево. Правый разряд мантиссы заполняется нулем. Пример 5: выполните деление двух вещественных чисел 0, 92000 104 и 0, 30000 107 При делении двух вещественных чисел в представлении с плавающей запятой порядки вычитаются, а мантиссы делятся одна на другую. Получим: 0, 92: 0, 3 = 3, 0(6). При записи мантиссы результата произойдет ее округление. После нормализации получим: 0, 30667 10 -2
Вывод: у вещественной арифметики есть несколько опасных особенностей, а именно, тот факт, что мантисса и порядок в представлении с плавающей запятой занимают фиксированное число разрядов. Модуль разности между значением числа x и неким его представлением x* (компьютерным, калькуляторным) называется его абсолютной погрешностью представления x. . Относительной погрешностью представления x называют величину
Литература: u u Н. Г. Колесников. Математические и логические основы информатики. Краснодар издат. Куб. АГУ. 2000 г. 224 с. Калбертсон Дж. Т. Математика и логика цифровых устройств. -М. : Прсвещение, 1965. -267 с. Кук Д. , Бейз Г. Компьютерная математика. – М. : Наука, 1990. Мальцев А. И. Алгебраические системы. – М. : Наука, 1970.