![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Умножение чисел с плавающей запятойСтр 1 из 4Следующая ⇒
Сложение чисел с плавающей запятой Если имеются два числа в нормальной форме: Х1 = m1 10p1 и Х2 = m2 10p2, то для того чтобы их можно было сложить, нужно предварительно привести их к одному и тому же порядку Робщ, т. е. преобразовать одно из слагаемых, например, первое следующим образом: Х1 = m1 10p1 = m1* 10p1 = m1* 10pобщ. Далее можно вынести степень основания системы за скобки и произвести сложение мантисс: Х1 + Х2= m1*10pобщ. + m2 10pобщ. = (m1* + m2) 10pобщ. Преобразовывать всегда нужно меньше слагаемое, так как в противном случае произойдет переполнение разрядной сетки мантиссы преобразуемого числа. Машинная операция сложения чисел в нормальной форме распадается таким образом, на 4 этапа: 1. Уравниваются порядки слагаемых: меньший порядок увеличивается до большего, мантисса преобразуемого числа сдвигается вправо (число денормализуется) на соответствующее количество разрядов. Практически в машинах производится вычитание порядков операндов. Знак и модуль разности Р1 - Р2 определяют соответственно, какое из слагаемых нужно преобразовывать и на сколько единиц следует сдвигать мантиссу преобразуемого числа. 2. Производится преобразование мантисс слагаемых в один из модифицированных кодов. 3. Мантиссы слагаемых суммируются по правилам сложения дробных чисел с фиксированной запятой. 4. В случае надобности мантисса суммы переводится в прямой код, производится нормализация суммы и округление ее мантиссы. ПРИМЕР. Используя дополнительный код, сложить два числа: [X1]пр = 0 101; 1, 10101 и [X2]пр = 0 100; 1, 11001 порядок мантисса РЕШЕНИЕ: [X2]пр = 0 101; 1, 011001 [m1]мод = 11, 01011; [m1]мод = 11, 100111. доп доп [m1]мод = 11, 01011 доп [m2]мод = 11, 01011 доп [m3]мод = 110, 111101 доп отбрасывается запрещенная комбинация 4. Комбинация знаковых цифр мантиссы показывает, что сумма денормализована влево (всегда только на один разряд) Произведем нормализацию суммы вправо
[m3]мод = 10, 111101 1, 0111101 доп Робщ = 0, 101 + 0, 001 = 0, 110 Далее переводим сумму в прямой код и производим округление ее мантиссы до пяти разрядов. Ответ: [X3]пр = 0 110; 1, 1000011 ~ 0 100; 1, 10001 порядок мантисса Умножение чисел с плавающей запятой Если имеем два сомножителя, заданные в нормальной форме Х1 = m1 10p1 и Х2 = m2 10p2, то их произведение определяется следующим образом: Х1 Х2 = m1 m2 10p1+р2. Анализ этого соотношения показывает, что умножение чисел в машинах с плавающей запятой производится в четыре этапа: 1. Определение знака произведения путем сложения по модулю два знаковых цифр мантисс сомножителей. 2. Перемножение модулей мантисс сомножителей по правилам для дробных чисел с фиксированной запятой. 3. Определение порядка произведения путем алгебраического сложения порядков сомножителей с использованием либо дополнительного, либо обратного модифицированного кода. 4. Нормализация результата и округление мантиссы в случае необходимости. Поскольку сомножители обязательно являются нормализованными числами, то де нормализация произведения возможна только на разряд и только вправо. ПРИМЕР. Перемножить числа с плавающей запятой. Множимое [X1]пр = 0 101; 1, 10101 Множитель [X2]пр = 0 100; 1, 11001 Решение. 1. Знак произведения 1 + 0 = 1. 2. Перемножаем модули мантисс: 1-й шаг, 0000 0000 - нулевая сумма +, 0000 1010 - 1-е частичное произведение 2-й шаг, 0000 1010 - 2-я сумма +, 0000 0000 - 2-е частичное произведение
3-й шаг, 0000 1010 - 3-я сумма +, 0010 1000 - 3-е частичное произведение
4-й шаг, 0011 0010 - 4-я сумма +, 0101 0000 - 4-е частичное произведение , 1000 0010 - модуль произведения мантисс. Находим порядок произведения: [р1]мод = 00, 101 доп [р2]мод = 11, 101 доп [р3]мод = 100, 010 доп теряется Производим округление мантиссы произведения. Ответ: [X3]пр = [Х1 Х2]пр = 0 010; 1 100 порядок мантисса
Вопрос 13: Двоично-десятичная система кодирования. Соответствие двоично-десятичного кода и десятичных цифр. Сложение двоично десятичных чисел. Двоично-десятичный код — форма записи рациональных чисел, когда каждый десятичный разряд числа записывается в виде его четырёхбитного двоичного кода. Например, десятичное число 31110 будет записано в двоичной системе счисления в двоичном коде как 1 0011 01112, а в двоично-десятичном коде как 0011 0001 0001BCD. Двоично-десятичные числа складывают по правилам двоичного сложения. Однако двоичное сложение может иногда давать неверный результат и тогда приходится выполнять коррекцию результата. Вопрос 14: Переполнение разрядной сетки машины. При сложении чисел одинакового знака, представленных в форме с фиксированной запятой, может возникнуть переполнение разрядной сетки. Признаком переполнения является отличие знака результата о т знаков слагаемых: складывали 2 отрицательных числа - получили положительный результат. Чтобы не было переполнения необходимо расширить разрядную сетку. Например: A=-1101 [A]доп=10011 В=-1001 [B]доп=10111 C=A+B [C]доп=01010 Запишем числа А и В в пяти битах A=-01101 [A]доп=110011 В=-01001 [B]доп=110111 C=A+B [C]доп=101010 С=-10110 Вопрос 15: Представление алфавитно-цифровой информации (коды ASCII и ДКОИ). Любая информация в ЭВМ представляется в виде двоичных кодов. Отдельный элемент двоичного кода, принимающий значение 0 или 1, называют битом. Бит является наименьшей единицей информации, которая может быть представлена в ЭВМ. Группа из восьми двоичных разрядов называется байтом. Более крупными единицами информации являются килобайт (1024 = 210 байт), мегабайт (1048576 = 220 байт), гигабайт (1073741824 = 230 байт).
|