Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лабораторная работа № 3.
Кодирование вещественных чисел.
Вещественные числа хранятся и обрабатываются в компьютере в формате с плавающей запятой.
Формат чисел с плавающей запятой базируется на экспоненциальной форме записи, в которой может быть представлено любое число:
, m мантисса числа, q - основание системы счисления, n порядок числа.
Представление числа в форме с плавающей запятой неоднозначно:
Для единообразия представления чисел с плавающей запятой используется нормализованная форма, при которой мантисса отвечает условию: , т.е. мантисса правильная дробь, имеющая после запятой цифру, отличную от 0.
В памяти компьютера мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не хранятся).
Например: , 0.555555 нормализованная мантисса.
Число в формате с плавающей запятой занимает в памяти компьютера 4 байта (число обычной точности) или 8 байтов (число двойной точности). При записи числа с плавающей запятой выделяются разряды для хранения знака порядка и мантиссы, порядка и мантиссы.
Формат с плавающей запятой |
|||||
Кол-во разрядов, отвод. для хранен. числа |
Кол-во разрядов, отвод. под порядок |
Кол-во разрядов, отвод. под мантиссу |
Точность вычислений (кол-во значащих цифр) |
Максимальное значение порядка |
Максимальное число |
4 байта |
8 разрядов |
24 разряда |
7 разрядов |
||
8 байтов |
11 разрядов |
53 разряда |
15 или 16 разрядов |
Замечание: Диапазон изменения чисел определяется количеством разрядов, отведенных для хранения порядка числа. Точность определяется количеством разрядов, отведенных для хранения мантиссы.
Например: рассмотрим число обычной точности. Для порядка и его знака отводится 8 разрядов памяти; для мантиссы и ее знака 24 разряда памяти.
порядок мантисса
знак порядка знак мантиссы
Машинный порядок, как мы видим из таблицы, изменяется от 0 до 127 (в десятичной системе счисления). Всего 128 значений. Порядок может быть как положительным, так и отрицательным. Разумно эти 128 значений разделить поровну между положительными и отрицательными значениями порядка: от -64 до 63.
Замечание. Машинный порядок смещен относительно математического и имеет только положительные значения. Смещение выбирается так, чтобы минимальному математическому значению порядка соответствовал ноль.
Связь между машинным порядком (МР) и математическим порядком (Р) выражается формулой: МР = Р + 64 формула записана в десятичной системе счисления (в двоичной системе МР = Р + 100 0000).
Пример: Представить десятичное число 250.1875 в формате с плавающей запятой в 4-байтовой разрядной сетке.
Алгоритм решения задачи.
1.Переведем число в двоичную систему счисления с 23 значащими цифрами:
2.Нормализуем мантиссу
3.Вычислим машинный порядок в двоичной системе счисления:
1000+100 0000=100 1000
4.Запишем представление числа в 4-байтовой ячейке памяти с учетом знака числа:
0 |
1001000 |
11111010 |
00110000 |
00000000 |
Операции с числами в формате с плавающей запятой.
Сложение и вычитание.
При сложении и вычитании чисел в формате с плавающей запятой сначала производится подготовительная операция выравнивания порядков.
Правило выравнивания порядков: порядок меньшего (по модулю) числа увеличивается до величины порядка большего (по модулю) числа. Для того чтобы величина числа не изменилась, мантисса уменьшается в такое же количество раз (сдвигается в ячейке памяти вправо на количество разрядов, равное разности порядков чисел).
После выполнения операции выравнивания порядков одинаковые разряды чисел оказываются расположенными в одних и тех же разрядах ячеек памяти. Теперь операции сложения и вычитания чисел сводятся к сложению или вычитанию мантисс.
После выполнения арифметической операции для приведения полученного числа к стандартному формату с плавающей запятой производится нормализация, т.е. мантисса сдвигается влево или вправо так, чтобы ее первая значащая цифра попала в первый разряд после запятой.
Например: Сложить числа в формате с плавающей запятой -
1.Произведем выравнивание порядков
2.Выполним сложение мантисс
3.Результат получим в нормализованном виде
Умножение и деление.
При умножении чисел в формате с плавающей запятой порядки складываются, а мантиссы перемножаются.
Например: Перемножить числа в формате с плавающей запятой -
- результат
При делении из порядка делимого вычитается порядок делителя, а мантисса делимого делится на мантиссу делителя.
Например: Разделить числа в формате с плавающей запятой -
- результат
PAGE 1
Задание № 1
Задание № 2
редставить следующие числа в формате с плавающей точкой и нормализованной мантиссой:
EMBED Mathcad
Записать числа в форме с плавающей точкой и нормализованной мантиссой:
EMBED Mathcad
Задание № 3
Задание № 4
Представить десятичное число в в формате с плавающей точкой в 4-байтовой разрядной сетке:
0.001289
987.2301
0.01011
Представить десятичные числа со знаком в 4-байтовой разрядной сетке в формате с плавающей точкой:
+15 и -15
+30 и -30