Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Вещественные числаФормат с плавающей точкой использует представление пк вещественного числа R в виде произведения мантиссы т на основание системы счисления п в некоторой целой степени р, которую называют порядком: R = т * пp. Представление числа в форме с плавающей точкой неоднозначно. Например, справедливы следующие равенства: 25,324 = 2,5324•101 = 0,0025324•104 = 2532,4• 102 и т. п. В компьютере используют нормализованное представление числа в форме с плавающей точкой. Мантисса в нормализованном представлении должна удовлетворять условию: 0,1 р< т < 1р. Иначе говоря, мантисса меньше единицы и первая значащая цифра — не ноль. В памяти компьютера мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не хранятся). Следовательно, внутреннее представление вещественного числа сводится к представлению пары целых чисел: мантиссы и порядка. В разных типах компьютеров применяются различные варианты представления чисел в форме с плавающей точкой. Для примера рассмотрим внутреннее представление вещественного числа в 4-х байтовой ячейке памяти. В ячейке должна содержаться следующая информация о числе: знак числа, порядок и значащие цифры мантиссы.
Маш. Порядок МА НТИ ССА 1-й байт 2-й байт 3-й байт 4-й байт
В старшем бите 1-го байта хранится знак числа: 0 обозначает плюс, 1 — минус. Оставшиеся 7 битов первого байта содержат машинный порядок. В следующих трех байтах хранятся значащие цифры мантиссы (24 разряда). В семи двоичных разрядах помещаются двоичные числа в диапазоне от 0000000 до 1111111. Значит, машинный порядок изменяется в диапазоне от 0 до 127 (в десятичной системе счисления). Всего 128 значений. Порядок, очевидно, может быть как положительным так и отрицательным. Разумно эти 128 значений разделить поровну между положительными и отрицательными значениями порядка: от -64 до 63. Машинный порядок смещен относительно математического и имеет только положительные значения. Смещение выбирается так, чтобы минимальному математическому значению порядка соответствовал нуль. Связь между машинным порядком (Мр) и математическим (р) в рассматриваемом случае выражается формулой: Мр = р + 64. Полученная формула записана в десятичной системе. В двоичной системе формула имеет вид: Мр2 = р2 + 100 00002. Для записи внутреннего представления вещественного числа необходимо: 1) перевести модуль данного числа в двоичную систему счисления с 24 значащими цифрами; 2) нормализовать двоичное число; 3) найти машинный порядок в двоичной системе счисления; 4) учитывая знак числа, выписать его представление в 4-байтовом машинном слове. Пример 1. Записать внутреннее представление числа 250,1875 в форме с плавающей точкой. Решение 1. Переведем его в двоичную систему счисления с 24 значащими цифрами: 250,187510 = 11111010, 00110000000000002. 2. Запишем в форме нормализованного двоичного числа с плавающей точкой: 0,111110100011000000000000 * 1021000. Здесь мантисса, основание системы счисления (210 = 102) и порядок (810 — 10002) записаны в двоичной системе. 3. Вычислим машинный порядок в двоичной системе счисления: Мр2 = 1000 + 100 0000 = 100 1000. 4.Запишем представление числа в 4-байтовой ячейке памяти с учетом знака числа:
Шестнадцатеричная форма: 48FA300016.
Пример 2. По шестнадцатеричной форме внутреннего представления числа в форме с плавающей точкой С9811000 восстановить само число. Решение. 1. Перейдем к двоичному представлению числа в 4-байтовой ячейке, заменив каждую шестнадцатеричную цифру 4-мя двоичными цифрами: 1100 1001 1000 0001 0001 0000 0000 0000
2. Заметим, что получен код отрицательного числа, поскольку в старшем разряде с номером 31 записана 1. Получим порядок числа: р = 10010012 - 10000002 = 10012 = 910. 3. Запишем в форме нормализованного двоичного числа с плавающей точкой с учетом знака числа: - 0,100000010001000000000000 • 1021001. 4. Число в двоичной системе счисления имеет вид: - 100000010, 0012. 5. Переведем число в десятичную систему счисления: -100000010,0012 = - (1 • 28 + 1 • 21 + 1 • 2-3) = -258,12510. Диапазон вещественных чисел значительно шире диапазона целых чисел. Положительные и отрицательные числа расположены симметрично относительно нуля. Следовательно, максимальное и минимальное числа равны между собой по модулю. Наименьшее по абсолютной величине число равно нулю. Наибольшее по абсолютной величине число в форме с плавающей точкой — это число с самой большой мантиссой и самым большим порядком. Для 4-байтового машинного слова таким числом будет: 0,111111111111111111111111 • 1021111111. После перевода в десятичную систему счисления получим: (1 – 2 -24) • 263 ≈ 1019. Множество вещественных чисел, представимых в памяти компьютера в форме с плавающей точкой, является ограниченным и дискретным. Количество вещественных чисел, точно представимых в памяти компьютера, вычисляется по формуле: N = 2* • (U - L + 1) + 1. Здесь t — количество двоичных разрядов мантиссы; U — максимальное значение математического порядка; L — минимальное значение порядка. Для рассмотренного нами варианта (t = 24, U = 63, L = -64) получается: N = 2 146 683 548.
Пример 3. Получить десятичное представление числа по его дополнительному коду 100101112. Решение: 1.) Инвертируем дополнительный код 100101112. Получим 01101000 – обратный код 2) Прибавим к полученному числу 1. Получим число 01101001 3) Переведем полученную запись числа из двоичной в 10-ю форму. Получим число 105. 4) Перед полученным числом поставим знак «-» Итак, ответ -105.
Задачи в тетрадях Представить вещественное число 1) 0,005089; 2) 1234,0456 в нормализованной форме с плавающей точкой в десятичной системе счисления.
Для представления вещественного числа отводится 2 байта. Порядок занимает 7 битов. Сколько различных вещественных чисел точно представимы в памяти такого компьютера? Для представления вещественного числа отводится 8 байт. Порядок занимает 11 битов. Сколько значащих цифр будет содержать двоичная мантисса? Получить шестнадцатеричную форму внутреннего представления отрицательного числа -123,125 в формате с плавающей точкой в 4-байтовой ячейке. Для представления вещественного числа используется 2-байтовая ячейка памяти. В 1-м байте содержится знак числа и порядок, во 2-м байте — мантисса. Определить минимальное и максимальное по абсолютной величине числа, точно представимые в таком компьютере.
|