Представление чисел в ПК (Семинары), страница 2
Описание файла
Файл "Представление чисел в ПК" внутри архива находится в папке "Семинары". PDF-файл из архива "Семинары", который расположен в категории "". Всё это находится в предмете "архитектура эвм" из 2 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 2 страницы из PDF
Умножение и делениеВо многих компьютерах умножение производится как последовательностьсложений и сдвигов. Для этого в АЛУ имеется регистр, называемый накапливающимсумматором, который до начала выполнения операции содержит число ноль. Впроцессе выполнения операции в нем поочередно размещаются множимое ирезультаты промежуточных сложений, а по завершении операции — окончательныйрезультат. Другой регистр АЛУ, участвующий в выполнении этой операции, вначалесодержит множитель.
Затем по мере выполнения сложений содержащееся в нем числоуменьшается, пока не достигнет нулевого значения.Деление для компьютера является трудной операцией. Обычно оно реализуетсяпутем многократного прибавления к делимому дополнительного кода делителя.3.3.3. Ошибки при выполнении арифметических операцийПри выполнении арифметических операций могут возникать ситуации, когдастаршие разряды результата операции не помещаются в отведенной для него областипамяти. Ниже приводятся примеры ошибочных вычислений (k = 3).Сложение знаковых чисел в обратном коде:–310 + (−210) = 1002 + 1012 = 10012 B 0012 + 1 = 010 = +210Вычитание знаковых чисел в обратном коде:+210 − (−310)= 0102 − 1012 B 10102 − 1012 = 1012 = −310.-6-Такая ситуация называется переполнением цифровой части (мантиссы) форматачисла.
Для обнаружения переполнения и оповещения о возникшей ошибке вкомпьютере используются специальные средства. Реакция на разные ошибки можетбыть разная. Так, в некоторых ЭВМ при делении на ноль вычисления прекращаются(фатальная ошибка), а при переполнении мантиссы устанавливается признакпереполнения в так называемом регистре флагов и вычисления продолжаются.4. Представление вещественных чиселВещественными числами ( в отличие от целых ) в компьютерной техникеназываются числа, имеющие дробную часть. При их изображении во многих языкахпрограммирования вместо запятой принято ставить точку. Так, например, число 5 —целое, а числа 5,1 и 5,0 — вещественные.
Для удобства отображения чисел,принимающих значения из достаточно широкого диапазона (то есть, как оченьмаленьких, так и очень больших), используется форма записи чисел с порядкомоснования системы счисления. Например, десятичное число 1,75 можно в этой формепредставить так:1,75•100 = 0,175•101 = 0,0175•102 = ... ,или так:17,5•10−1 = 175,0•10−2 = 1750,0•10−3 = ... .Любое число N в системе счисления с основанием q можно записать в видеN = M • q p, где M называется мантиссой числа, а p — порядком.
Такой способ записичисел называется представлением с плавающей точкой. Если «плавающая» точкарасположена в мантиссе перед первой значащей цифрой, то при фиксированномколичестве разрядов, отведённых под мантиссу, обеспечивается запись максимальногоколичества значащих цифр числа, то есть максимальная точность представления числав машине. Из этого следует, что мантисса должна быть правильной дробью, перваяцифра которой отлична от нуля: M ∈ [0,1; 1).
Такое, наиболее выгодное длякомпьютера, представление вещественных чисел называется нормализованным.Мантиссу и порядок q-ичного числа принято записывать в системе с основанием q, асамо основание — в десятичной системе.4.1. Примеры нормализованного представления:Десятичная системаДвоичная система3752,15 = 0,75215•10 ;−101,01 = −0,10101•211 (порядок 112 = 310)−0,000039 = −0,39•10−4;−0,000011 = 0,11•2−100 (порядок −1002 = −410)Вещественные числа в компьютерах различных типов записываются поразному. При этом компьютер обычно предоставляет программисту возможностьвыбора из нескольких числовых форматов наиболее подходящего для конкретнойзадачи — с использованием четырех, шести, восьми или десяти байтов.В качестве примера приведем характеристики форматов вещественных чисел,используемых IBM PC-совместимыми персональными компьютерами:Форматывещественных чиселРазмер вбайтахПримерный диапазонабсолютных значенийКоличество значащихдесятичных цифрОдинарный410−45 … 10387 или 8ВещественныйДвойнойРасширенный6810101010−39−324−49323811 или 12… 1030815 или 16… 10493219 или 20… 10-7-4.2.
Представление в виде набора битовЧисла с плавающей точкой представляются в виде битовых наборов, в которыхотводятся разряды для мантиссы, порядка, знака числа и знака порядка:……ПорядокМантиссаЗнак порядкаЗнак числаЧем больше разрядов отводится под запись мантиссы, тем выше точностьпредставления числа. Чем больше разрядов занимает порядок, тем шире диапазон отнаименьшего отличного от нуля числа до наибольшего числа, представимого в машинепри заданном формате.Покажем на примерах, как записываются некоторые числа в нормализованномвиде в четырехбайтовом формате с семью разрядами для записи порядка.Число 6,2510 = 110,012 = 0,110012•2112:3130002200000111100Порядок10…210000МантиссаЗнак порядкаЗнак числаЧисло −0,12510 = −0,0012 = −0,12•2−102дополнительном коде):313011(отрицательныйпорядок221111Порядок110100000…записан210000вМантиссаЗнак порядкаЗнак числа4.3.
Арифметические действия над нормализованными числамиК началу выполнения арифметического действия операнды операциипомещаются в соответствующие регистры АЛУ.При сложении и вычитании сначала производится подготовительная операция,называемая выравниванием порядков. В процессе выравнивания порядков мантисса-8-числа с меньшим порядком сдвигается в своем регистре вправо на количество разрядов,равное разности порядков операндов.
После каждого сдвига порядок увеличивается наединицу.В результате выравнивания порядков одноименные разряды чисел оказываютсярасположенными в соответствующих разрядах обоих регистров, после чего мантиссыскладываются или вычитаются.В случае необходимости полученный результат нормализуется путем сдвигамантиссы результата влево. После каждого сдвига влево порядок результатауменьшается на единицу.Пример 1. Сложить двоичные нормализованные числа 0,101112•2−1 и0,110112•2102. Разность порядков слагаемых здесь равна трем, поэтому перед сложениеммантисса первого числа сдвигается на три разряда вправо:0,000101112 •2102+0,110112•21020,111011112 •2102Пример 2. Выполнить вычитание двоичных нормализованных чисел 0,10101•2102и 0,11101•21.
Разность порядков уменьшаемого и вычитаемого здесь равна единице,поэтому перед вычитанием мантисса второго числа сдвигается на один разряд вправо:0,101012 •2102−0,0111012 •21020,0011012 •2102Результат получился не нормализованным, поэтому его мантисса сдвигаетсявлево на два разряда с соответствующим уменьшением порядка на две единицы:0,11012•20.При умножении двух нормализованных чисел их порядки складываются, амантиссы перемножаются.Пример 3. Выполнить умножение двоичных нормализованных чисел:(0,111012•21012) • (0,10012•2112) = (0,111012• 0,10012) • 2 (1012 + 112) = 0,1000001012•210002При делении двух нормализованных чисел из порядка делимого вычитаетсяпорядок делителя, а мантисса делимого делится на мантиссу делителя. Затем в случаенеобходимости полученный результат нормализуется.Пример 4.
Выполнить деление двоичных нормализованных чисел:0,11112•21002 ÷ 0,1012•2112 = (0,11112 ÷ 0,1012) • 2 (1002 − 112) = 1,12•21 = 0,112•2102Использование представления чисел с плавающей точкой существенноусложняет схему арифметико-логического устройства.-9-.