Решение задач на тему «Представление чисел в компьютере» Целые числа. Представление чисел в формате с фиксированной запятой
1 Решение задач на тему «Представление чисел в компьютере» Типы задач: 1. Целые числа. Представление чисел в формате с фиксированной запятой. 2. Дробные числа. Представление чисел в формате с плавающей запятой. 3. Арифметические операции с числами в формате с плавающей запятой. Целые числа. Представление чисел в формате с фиксированной запятой Методические рекомендации: В задачах такого типа используются понятия: Фиксированная запятая или фиксированная точка. Машинное слово Прямой код Дополнительный код Обратный код Фиксированная запятая Целые числа в компьютере хранятся в памяти в формате с фиксированной запятой или фиксированной точкой. В этом случае каждому разряду ячейки памяти соответствует всегда один и тот же разряд числа, а запятая находится справа после младшего разряда, т.е. вне разрядной сетки. Машинное слово. Множество целых чисел, представимых в памяти ЭВМ ограничено и зависит от размера ячеек памяти (машинного слова), используемых для их хранения. В k-разрядной ячейке может храниться 2 k различных значений целых чисел. Представление целых положительных чисел. Алгоритм 1 получения внутреннего представления целого положительного числа N, хранящегося в k разрядном машинном слове: 1. Перевести число N в двоичную систему счисления. 2. Полученный результат дополнить слева незначащими нулями до k разрядов Прямой код. Для хранения целых неотрицательных чисел отводится одна ячейка памяти (8 бит). Для хранения целых чисел со знаком отводится две ячейки памяти (16 бит), причем старший (левый) разряд отводится под знак числа (если число
2 положительное, то в знаковый разряд записывается 0, если число отрицательное записывается 1). Представление в компьютере положительных чисел с использованием формата «знак-величина» называется прямым кодом числа. Дополнительный код. Обратный код Для представления отрицательных чисел используется дополнительный код. Дополнительный код позволяет заменить арифметическую операцию вычитания операцией сложения, что существенно упрощает работу процессора и увеличивает его быстродействие. Алгоритм 2 получения внутреннего представления целого отрицательного числа N, хранящегося в k разрядном машинном слове: 1. Получить внутреннее представление положительного числа N (Перевести число N в двоичную систему счисления, полученный результат дополнить слева незначащими нулями до k разрядов) 2. Получить обратный код этого числа заменой 0 на 1 и 1 на 0, т.е значения всех бит инвентировать. 3. К полученному числу прибавить 1. Данная форма называется дополнительным кодом Алгоритм 3 перевода дополнительного кода в десятичное число. 1. Инвертировать дополнительный код 2. Прибавить к полученному коду 1 и получить модуль отрицательного числа: 3. Перевести в десятичное число и приписать знак отрицательного числа.
3 Задачи. Уровень «3» 1. Компьютер работает только с целыми положительными числами. Каков диапазон изменения чисел, если для представления числа в памяти компьютера отводится 1 байт? Диапазон значений от 0 до 2 8-1=255 Ответ: от 0 до Каков диапазон изменения целых чисел (положительных и отрицательных), если в памяти компьютера для представления целого числа отводится 1 байт. В диапазоне целых положительных чисел всего 256 чисел, если в памяти компьютера для них отводится 1 байт. Диапазон значений положительных и отрицательных чисел в равном количестве рассчитаем так: 256:2= 128. Минимальное отрицательное число равно 128. Так как число 0 также входит в этот диапазон, то максимальное положительное число будет равно 127 (от 2 k 1 до 2 k 1 1, действительно, так как 2 k :2=2 k 1 ). Ответ: от 128 до Пусть для представления целых чисел в компьютере используется 16-разрядная ячейка (2 байта). Определить каков диапазон хранимых чисел, если: а) используются только положительные числа; б) используются как положительные, так и отрицательные числа в равном количестве. Всего в 16-разрядной сетке может храниться 2 16 =65536 значений. Следовательно: а) диапазон значений только положительных чисел от 0 до (от 0 до 2 k 1, 1 отняли, так как одно значение пошло на кодировку числа 0); б) диапазон значений положительных и отрицательных чисел в равном количестве рассчитаем так: 65536:2= Минимальное отрицательное число равно Так как число 0 также входит в этот диапазон, то максимальное положительное число будет равно (от 2 k 1 до 2 k 1 1, действительно, так как 2 k :2=2 k 1 ). Ответ: а) от 0 до 65535; б) от до
4 4. Заполнить таблицу, записав максимальные и минимальные значения чисел в заданном компьютерном представлении: Компьютерное представление целые неотрицательные числа целые числа со знаком большое целое число со знаком Максимальное значение Минимальное значение Для хранения целых неотрицательных чисел отводится одна ячейка памяти (8 бит). Минимальное значение все разряды заполнены 0, это будет число 0, максимальное значение восемь единиц, или десятичное число 255. Для хранения целых чисел со знаком отводится две ячейки памяти (16 бит), причем старший (левый) разряд отводится под знак числа (если число положительное, то в знаковый разряд записывается 0, если число отрицательное записывается 1). Следовательно, максимальное значение целых чисел со знаком = (один разряд на знак и 1 на кодирование 0), а минимальное 2 15 = Для хранения больших целых чисел со знаком отводится 4 ячейки памяти-32 бита. Значит, максимальное значение большого целого числа со знаком = , минимальное значение 2 31 = Ответ: Компьютерное представление Максимальное значение Минимальное значение целые неотрицательные = числа целые числа со знаком = = большое целое число со = = знаком 5. Компьютер работает только с целыми положительными числами. Каков диапазон изменения чисел, если для представления числа в памяти компьютера отводится 4 байта?
5 Если компьютер работает только с целыми положительными числами, то разряд на знак выделять не надо. Диапазон чисел лежит от 0 до , так как 4 байта 32 бит. Ответ: от 0 до или от 0 до Каков диапазон изменения целых чисел (положительных и отрицательных), если в памяти компьютера для представления целого числа отводится 4 байта? Для хранения больших целых чисел со знаком отводится 4 ячейки памяти 32 бита. Значит, максимальное значение целого числа со знаком = , минимальное значение 2 31 = Ответ: от до Получить внутреннее представление целого числа 1607 в 2-х байтовой ячейке. Записать ответ в 16-ричной форме. Воспользуемся алгоритмом = Внутреннее представление этого числа: ричная форма Ответ: или Записать дополнительный код отрицательного числа 2002 для 16-ти разрядного компьютерного представления с использованием алгоритма. Воспользуемся алгоритмом 2 Прямой код Обратный код инвертирование прибавление единицы Дополнительный код Ответ: Заполнить таблицу, записав десятичные числа в заданном компьютерном представлении:
6 Десятичные числа Компьютерное представление целые неотрицательные числа целые числа со знаком Так как для хранения целых неотрицательных чисел отводится одна ячейка памяти (8 бит), то в компьютерном представлении максимальное целое неотрицательное число это десятичное число 255. а двоичное Значит компьютерное представление чисел, больших 255, и отрицательных, как целых неотрицательных отсутствует. Для хранения целых чисел со знаком отводится две ячейки памяти (16 бит), причем старший (левый) разряд отводится под знак числа (если число положительное, то в знаковый разряд записывается 0, если число отрицательное записывается 1). Так как максимальное положительное число, которое может храниться в памяти в формате целое число со знаком равно =32767, то представление числа в таком формате отсутствует. Минимальное отрицательное число, записанное в таком формате десятичное 32768, двоичное Число 255 представлено в дополнительном коде. Ответ: Десятичные числа Компьютерное представление целые неотрицательные числа целые числа со знаком отсутствует отсутствует отсутствует отсутствует Выполнить арифметические действия 3 10 (числа записаны в 10-с.с.) в 16 разрядном компьютерном представлении доп. код числа доп.код числа 7
7 Задачи. Уровень «4» Решение задач на основе применения определения дополнительного кода. Определение. Дополнительный код отрицательного числа А, хранящегося в n ячейках, равен 2 n А 11. Записать дополнительный код отрицательного числа 2002 для 16-разрядного компьютерного представления. Проведем вычисления в соответствии с определением дополнительного кода, где n=16: 2 16 = = = Проведем проверку с использованием десятичной системы счисления. Дополнительный код в сумме с модулем отрицательного числа равен , т.е. дополнительный код дополняет модуль отрицательного числа до Ответ: Заполнить таблицу, записав отрицательные десятичные числа в прямом, обратном и дополнительном кодах в 16-ти разрядном представлении: Десятичные числа Прямой код Обратный код Дополнительный код 10 Прямой код: 10 :2=5 (остаток 0):2=2 (остаток 1):2=1 (остаток 0) = Прямой код Обратный код Дополнительный код получаем добавлением к обратному числа 1:
8 100 Прямой код: =1*2 6 +1*2 5 +1*2 2 = = Прямой, обратный и дополнительный код находим аналогично = = = Прямой, обратный и дополнительный код находим аналогично Так как 2 16 =65536, а 2 15 =32768, 2 14 =16384, то в разложении числа наивысшая степень двойки число = = = Ответ: Десятичные числа Прямой код Обратный код Дополнительный код Записать в двоичной и 16-ричной форме внутреннее представление наибольшего положительного целого и наибольшего по абсолютной величине отрицательного целого числа, представленных в 1-байтовой ячейке памяти. 1. Так как в компьютере могут быть представлены как положительные, так и отрицательные числа в однобайтовой ячейке памяти, то всего таких чисел будет 256. (2 8 ). Наибольшее положительное число, представленное в однобайтовой ячейке памяти (с учетом крайнего правого разряда на знак) = = =7F Наибольшее по абсолютной величине отрицательное целое число, представленное в 1-байтовой ячейке памяти число = =80 16 Ответ: =7F 16 и = Записать в двоичной и шестнадцатеричной форме внутреннее представление наибольшего положительного целого и наибольшего по абсолютной величине отрицательного целого числа, представленных в двубайтовой ячейке памяти.
9 1. Так как в компьютере могут быть представлены как положительные, так и отрицательные числа в 2-байтовой ячейке памяти, то всего таких чисел будет Наибольшее положительное число, представленное в 2-байтовой ячейке памяти (с учетом крайнего левого разряда на знак) = = = =7FFF Наибольшее по абсолютной величине отрицательное целое число, представленное в 2-байтовой ячейке памяти, является минимальным отрицательным числом, записанным в таком формате: = = Ответ: 7FFF 16, Получить десятичное представление числа по его дополнительному коду ). Инвертируем дополнительный код Получим обратный код 2). Прибавим к полученному числу 1. Получим число ). Переведем полученную запись числа из двоичной в 10-ю форму. Получим число ). Перед полученным числом поставим знак Ответ: Получить дополнительный код десятичного числа ). Модуль числа записать в прямом коде в n двоичных разрядах. 105= ). Получить обратный код числа. Получим ). К полученному обратному коду прибавить 1. Получим Ответ: дополнительный код числа 105 равен
10 Задачи. Уровень «5» Используются алгоритмы 1, 2, Выполнить арифметическое действие в 16-ти разрядном компьютерном представлении. Представим положительное число в прямом, а отрицательное число в дополнительном коде: Десятичное число Прямой код Обратный код Дополнительный код Сложим прямой код положительного числа с дополнительным кодом отрицательного числа. Получим результат в дополнительном коде: Переведем полученный дополнительный код в десятичное число, воспользуемся алгоритмом 3: 1). Инвертируем дополнительный код: ). Прибавим к полученному коду 1 и получим модуль отрицательного числа: ). Переведем в десятичное число и припишем знак отрицательного числа: Ответ: Назовите достоинства и недостатки представления чисел в формате с фиксированной запятой. Достоинства: Простота Наглядность представления чисел
11 Благодаря использованию дополнительного кода вычитание сводится к сложению, что упрощает алгоритм реализации арифметических операций. Недостатки: Конечный диапазон представления величин недостаточен для решения математических, физических, экономических и других задач, где используются очень малые и очень большие числа. 19. Выполнить арифметическое действие в 16-ти разрядном компьютерном представлении. 1. Представим положительное число в прямом, а отрицательное число в дополнительном коде: Десятичное число Прямой код Обратный код Дополнительный код Сложим прямой код положительного числа с дополнительным кодом отрицательного числа. Получим результат в дополнительном коде: Проверка: Переведем полученный дополнительный код в десятичное число: 1). Инвертируем дополнительный код: ). Прибавим к полученному коду 1 и получим модуль отрицательного числа: ). Переведем в десятичное число = = 32+8 = и припишем знак отрицательного числа: 40. Действительно: = 40 Ответ:
12 Дробные числа. Представление чисел в формате с плавающей запятой. Методические рекомендации: В задачах такого типа используются понятия: Плавающая запятая или точка Экспоненциальная форма числа Мантисса Порядок числа Нормализованная форма числа Обычная точность Двойная точность Плавающая запятая или плавающая точка - положение запятой в записи числа может изменяться. Пример: 555,55 = = 0, Любое число А может быть представлено в экспоненциальной форме: А = m q n, где m мантисса числа, q основание системы счисления,n порядок числа. Пример: 0, Нормализованная форма числа. Чтобы привести к какому-то стандарту в представлении чисел с плавающей запятой условились представлять числа в нормализованной форме. При этом мантисса отвечает условию: она должна быть правильной дробью и иметь после запятой цифру, отличную от нуля. 1/n m < 1 Пример:555,55 естественная форма 0, нормализованная форма 0,55555 > 1/3 0,3333 0,55555 < 1 Это касается и отрицательных чисел, т.к. мантисса в условии взята по модулю. Дробные числа занимают в памяти 4 байта (обычная точность) или 8 байтов (двойная точность). Для записи таких чисел выделяются разряды для хранения: знака мантиссы, знака порядка, порядка числа мантиссы. 1-й байт 2-й байт 3-й байт 4-й байт
13 ± порядок ЗНАК И М А Н Т И С С А в старшем бите 1-го байта хранится знак порядка числа o 0 означает плюс, 1 минус; o 7 бит 1 байта содержат порядок; в следующих трех байтах, хранятся значащие цифры мантиссы и еѐ знака (24 разряда).
14 Задачи. Уровень «3» 20. Для представления вещественного числа отводится 8 байт. Порядок занимает 11 бит. Сколько значащих цифр будет содержать двоичная мантисса? Число занимает 64 разряда, из них 11 разрядов на машинный порядок, значит, на знак числа и мантиссу отводится =53 бит, на мантиссу 52 бита Ответ: 52 бита. 21. Записать следующие числа в форме с плавающей запятой и нормализованной мантиссой: а) 217, ; б) ; в) 10, ; г) а). 217, = 0, , где 0, нормализованная мантисса, порядок 3 б) = 0, , где 0,75321 нормализованная мантисса, порядок 5 в). 10, = 0, , где 0, нормализованная мантисса, порядок 2 г) = 0, , где 0, нормализованная мантисса, порядок Приведенные ниже числа распределите в два столбика: в первый поместите числа в естественной форме представления, во второй в экспоненциальной. 0,1236, 123,6258; ; 12, ; 0, ; 1,000001; ; ; 9999,9999; Числа в естественной форме 0, ,6258 1, ,9999 Числа в экспоненциальной форме , ,
15 23. Запишите число 2001,2001 пятью различными способами в форме с плавающей запятой. Возможны такие варианты записи: 2, ; 20, ; 200, ; 20012, ; , Запишите следующие числа в естественной форме: а). 0, ; в) е 5; б). 0, ; г) е+5. а) 38,0456; б) 0,000002; в) 0, ; г) 78921,01.
16 Задачи. Уровень «4» 25. Сравните следующие числа: а) 318, и 3, ; б) 218, и 1847, ; в) 0, и ; г) и 1, а) 318, = 3, ; б) 218, > 1847, ; в) 0, > ; (11,01 > 0,101, т.к =2 10 ; 11 2 = 3 10 ) г) > 1, (1,1011 > 0,11101, т.к = 4 10 )
17 Задачи. Уровень «5» Для решения задач можно использовать инженерный калькулятор. Использовать дополнительный теоретический материал. Рассматриваются понятия: Машинный порядок. Для примера рассмотрим внутреннее представление вещественного числа в 4-х байтовой ячейке памяти. В ячейке должна содержаться следующая информация о числе: знак числа, порядок и значащие цифры мантиссы. ± маш.порядок М А Н Т И С С А 1-й байт 2-й байт 3-й байт 4-й байт В старшем бите 1-го байта хранится знак числа: 0 обозначает плюс, 1 минус. Оставшиеся 7 бит первого байта содержат машинный порядок. В следующих трех байтах хранятся значащие цифры мантиссы (24 разряда). В семи двоичных разрядах помещаются двоичные числа в диапазоне от до Значит, машинный порядок изменяется в диапазоне от 0 до 127 (в десятичной системе счисления). Всего 128 значений. Порядок (в математическом понимании), очевидно, может быть как положительным, так и отрицательным. Разумно эти 128 значений разделить поровну между положительными и отрицательными значениями порядка: от 64 до 63. Машинный порядок смещен относительно математического и имеет только положительные значения. Смещение выбирается так, чтобы минимальному математическому значению порядка соответствовал нуль. Связь между машинным порядком (Мр) и математическим (р) в рассматриваемом случае выражается формулой: Мр = р Полученная формула записана в десятичной системе. В двоичной системе формула имеет вид: Мр 2 = р Внутреннее представление вещественного числа. Алгоритм записи внутреннего представления вещественного числа: 1). перевести модуль данного числа в двоичную систему счисления с 24 значащими цифрами; 2). нормализовать двоичное число; 3). найти машинный порядок в двоичной системе счисления; 4). учитывая знак числа, выписать его представление в 4-х байтовом машинном слове. Формула для вычисления количества вещественных чисел, точно представимых в памяти компьютера: N = 2 t (U L + 1) + 1. Здесь
18 t количество двоичных разрядов мантиссы; U максимальное значение математического порядка; L минимальное значение порядка. Для рассмотренного нами варианта (t = 24, U = 63, L = - 64). Получается количество вещественных чисел, представимых в памяти компьютера с обычной точностью N = Определить максимальное число и его точность для формата чисел обычной точности, если для хранения порядка и его знака отводится 8 разрядов, а для хранения мантиссы и ее знака 24 разряда. Для формата чисел обычной точности выделяется 4 байт или 32 бит знак и знак и мантисса порядок Максимальное значение порядка числа составит = , и, следовательно, максимальное значение числа составит: = 1, Точность вычислений определяется количеством разрядов, отведенных для хранения мантиссы чисел. 32 8=24 бит на знак мантиссы и мантиссу. Максимальное значение положительной мантиссы равно: = 2 (10 2,3) ,3 = 10 (3 2,3) 10 7 Таким образом, максимальное значение чисел обычной точности с учетом возможной точности вычислений составит 1, (количество значащих цифр десятичного числа в данном случае ограничено 7 разрядами). Ответ: 1, Определите максимальное число и его точность для формата чисел двойной точности, если для хранения порядка и его знака отводится 11 разрядов, а для хранения мантиссы и ее знака 53 разряда. Так как на хранение порядка и его знака отводится 11 разрядов, то на один порядок отводится 10 разрядов. Тогда максимальное значение порядка = Следовательно, максимальное значение числа составит = 8, * Точность вычислений определяется количеством разрядов, отведенных для хранения мантиссы чисел.
19 Так как для хранения мантиссы и ее знака отводится 53 разряда, то на саму мантиссу отводится 52 знака и максимальное значение положительной мантиссы равно =2 (10 5.2) (2 10 ) 5, ,2 =10 (3 5,2) =10 15,6 Максимальное значение числа двойной точностью с учетом возможной точности вычислений составит 8, (количество значащих цифр десятичного числа в данном случае ограничено разрядами). Ответ: 8, * Записать внутреннее представление числа 250,1875 в форме с плавающей точкой. Решение. 1. Переведем его в двоичную систему счисления с 24 значащими цифрами: 250, = , Запишем в форме нормализованного двоичного числа с плавающей точкой: 0, Здесь мантисса, основание системы счисления (2 10 = 10 2 ) и порядок (8 10 = ) записаны в двоичной системе. 3. Вычислим машинный порядок в двоичной системе счисления: Мр 2 = р Мр 2 = = Запишем представление числа в 4-х байтовой ячейке памяти с учетом знака числа: Шестнадцатеричная форма: 48FA3000. Ответ: внутреннее представление числа 250,1875 равно Шестнадцатеричная форма: 48FA По шестнадцатеричной форме внутреннего представления числа в форме с плавающей точкой С восстановить само число. Решение. 1. Перейдем к двоичному представлению числа в 4-х байтовой ячейке, заменив каждую шестнадцатеричную цифру 4-мя двоичными цифрами:
20 Мр Заметим, что получен код отрицательного числа, поскольку в старшем разряде с номером 31 записана 1. Получим порядок числа из уравнения: Мр 2 = р ; р 2 = = = Запишем в форме нормализованного двоичного числа с плавающей точкой с учетом знака числа: 0, Число в двоичной системе счисления имеет вид: , Переведем число в десятичную систему счисления: ,001 2 = ( ) = 258, Для представления вещественного числа отводится 2 байта. Порядок занимает 7 бит. Сколько различных вещественных чисел точно представимы в памяти такого компьютера? 1. Используем формулу для вычисления количества вещественных чисел, точно представимых в памяти компьютера: N = 2 t (U L + 1) + 1. Здесь t количество двоичных разрядов мантиссы; U максимальное значение математического порядка; L минимальное значение порядка. t = 9 (16 разрядов всего, 7-машинный порядок, 16 7=9) 2. Так как машинный порядок 7 бит, 1 разряд на знак порядка, 6 бит на число порядка. Машинный порядок изменяется в диапазоне от 0 до 63 (всего значений 2 6 = 64). Минимальное значение порядка L= 32, максимальное значение порядка U = Подставляем найденные значения в формулу: N = 2 t (U L + 1) + 1. N = 2 9 ( ) + 1 = =32769 Ответ: Минимальное значение математического порядка в десятичной системе счисления равно ( 1024). Чему равно смещение? Машинный порядок смещен относительно математического и имеет только положительные значения. Смещение выбирается так, чтобы минимальному математическому значению порядка соответствовал нуль. Связь между машинным порядком (Мр) и математическим (р) в рассматриваемом случае выражается формулой: Мр = р + 64, где 64 смещение для представления в 64-байтовой ячейке памяти.
21 Если представить это на шкале, то имеем: В данной задаче минимальное значение математического порядка в десятичной системе счисления равно ( 1024). На шкале это можно представить так: Легко видеть, смещение равно Ответ: Получить шестнадцатеричную форму внутреннего представления отрицательного числа 123,125 в формате с плавающей точкой в 4-х байтовой ячейке. Используем алгоритм записи внутреннего представления вещественного числа: 1. Переведем модуль числа в двоичную систему счисления с 24 значащими цифрами = , =0, , = , (4 байта 32 разряда, 1 байт на знак и порядок, 3 байта или 24 бита на мантиссу) 2. Запишем в форме нормализованного двоичного числа с плавающей запятой: 111 0, (111 2 =7 10 ) 3. Вычислим машинный порядок в двоичной системе счисления. Мр 2 = р = = Запишем представление числа в 4-х байтовой ячейке памяти с учетом знака числа: Мр Шестнадцатеричная форма: 47F Ответ: 47F Для представления вещественного числа используется 2-х байтовая ячейка памяти. В 1-ом байте содержится знак числа и порядок, во 2-ом байте мантисса. Определить минимальное и максимальное по абсолютной величине числа, точно представимые в таком компьютере. 34 В «игрушечном» компьютере для представления вещественных чисел используется однобайтовая ячейка памяти (биты нумеруются от 0 до 7 справа налево). 7-й бит знак числа; 5 и 6 биты машинный порядок; 4 0 биты мантисса. Определить:
22 1) количество точно представимых вещественных чисел; 2) 7 наименьших десятичных чисел, представимых точно в таком компьютере. 35 Говорят, что число, превышающее максимальное значение, представимое в компьютере, вызывает переполнение. Определить для «игрушечного» компьютера, какие из следующих чисел вызовут переполнение: 0,5; 10,0; 4,3; 8,1; 7,8. 36 «Игрушечный» компьютер сохраняет значение числа, не вызывающего переполнение и не представленного точно, в виде ближайшего снизу (по абсолютной величине) точно представимого числа. Какие значения примут следующие числа в таком компьютере: 1,25; 1,6; 1,9? 37 Увидит ли разницу «игрушечный» компьютер между следующими парами чисел: 1) 1,4 и 1,5; 2) 1,6 и 1,62; 3) 1,8 и 1,9?
23 3.Арифметические операции с числами в формате с плавающей запятой Методические рекомендации: При решении задач учащиеся используют: Алгоритм сложения и вычитания чисел в формате с плавающей запятой: 1. Провести выравнивание порядков 2. Сложить или вычесть мантиссы. 3. Привести полученное число к стандартному формату с плавающей запятой путем нормализации. Процедура выравнивания порядков: порядок меньшего (по модулю) числа увеличивается до величины порядка большего (по модулю) числа. Чтобы величина числа не изменилась, мантисса уменьшается в такое же количество раз (сдвигается в ячейке памяти вправо на количество разрядов, равное разности порядков чисел). Процедура нормализации: сдвиг мантиссы влево или вправо так, чтобы ее первая значащая цифра попала в первый разряд после запятой. Алгоритм умножения чисел в формате с плавающей запятой: 1. Сложить порядки 2. Перемножить мантиссы Алгоритм деления чисел в формате с плавающей запятой: 1. Из порядка делимого вычесть порядок делителя 2. Мантиссу делимого делить на мантиссу делителя.
24 Задачи. Уровень «3» 37. Произвести сложение чисел 0,1 2 3 и 0,1 2 5 в формате с плавающей запятой. Произведем выравнивание порядков и сложение мантисс: 0,1 2 3 = Х 2 5, Х=(0,1 2 3 )/ 2 5 =0,1 2-2 =0,001 0, , , Ответ: 0, Произвести умножение чисел 0,1 2 3 и 0,1 2 5 в формате с плавающей запятой. После умножения будет получено число 0,01 2 8, которое после нормализации примет вид 0, Ответ: 0,1 2 7.
25 Задачи. Уровень «4» 39. Произвести сложение, вычитание, умножение и деление чисел 0,1 2 2 и 0,1 2 2 в формате с плавающей запятой. Произведем выравнивание порядков и сложение мантисс: 0,1 2 2 = Х 2 2, Х = (0,1 2 2 )/ 2 2 = 0,1 2 4 = 0, , , , Произведем вычитание мантисс и процедуру нормализации: 0, , , = 0, Используем алгоритм умножения: сложим порядки и перемножим мантиссы. 0, , , , нормализуем ответ 0,1 2 1 Используем алгоритм деления чисел в формате с плавающей запятой: из порядка делимого вычесть порядок делителя, мантиссу делимого делить на мантиссу делителя. 0, : 0, , нормализуем ответ 0,1 2 5 Ответ: 0, ; 0, ; 0,1 2 1 ; 0,1 2 5.