Минск 2011 Задание 1.1 Задание предполагает нахождения значений С1, С2, С3, С4, определяемых выражениями: С1 = А+В, С2 = А-В, С3 = В- А, С4 =- А -В. При выполнении задания операнды А и В необходимо представить в двоично-десятичной системе, сформировать для них прямые коды и, используя заданный код в варианте по правилам двоично-десятичной арифметики, описанной в разделе «Арифметика с алгебраическими двоично-десятичными числами», найти значения С1, С2, С3, С4. Результат должен быть представлен в прямом коде. А = -451, В = +6631. При выполнении операций использовать модифицированный обратный код. Решение. Прямой двоично-десятичный код заданных чисел имеет вид: [A]пк = -45110 = 1.0000 0100 0101 00012-10; [B]пк = +6631 = 0.0110 0110 0011 00012-10; Обратный и инверсный модифицированный код заданных чисел имеет вид: [A]мик = 1.1111 1011 1010 1110 [B]мок = 00.0110 0110 0011 0001. Рассчитаем выражения для С1, С2, С3, С4. [С1]пк = А + В: 11.1111 1011 1010 1110 [A]мик = [А]мок + 6 00.0110 0110 0011 0001 [B]мок 00.0110 0001 1101 1111 1 00.0110 0001 1110 0000 1010 00.0110 0001 1000 0000 - [С1]мок [С1]мок = [С1]мпк, так как в результате сложения было получено положительное число; [С1]пк = 0.0110 0001 1000 0000 С110 = + 6 1 8 0 (десятичный эквивалент)
Формирование С2 и С3, в выражениях которых в операции сложения принимают участие числа с одинаковыми знаками, осуществляется за счет сложения абсолютных значений операндов с последующим присвоением полученной суммы знака одного из операндов. Таким образом, для определения С2 и С3 выполняются следующие действия: С2 = С3: 0.0000 0100 0101 0001 [|A|]пк 0.0110 0110 0011 0001 [|B|]пк 0.0110 1010 1000 0010 0110 0.0111 0000 1000 0010 [С2]пк = 1.0111 0000 1000 0010 C210 = - 7 0 8 2 (десятичный эквивалент) [С3]пк = 0.0111 0000 1000 0010 С310 = + 7 0 8 2 (десятичный эквивалент)
Задание 2.1 Задание предполагает выполнение заданной операции над числами А и В, представленными с плавающей точкой. При выполнении задания порядки и мантиссы операндов А и В, заданные в таблице, необходимо представить в двоичной системе счисления и сформировать для них прямые коды. Разрядность модуля порядка должна быть равна 3, разрядность модуля мантиссы - 6 . Результат (порядок и мантисса) должен быть представлен в прямом коде в нормализованной форме. [aп] = +3, [ам] = +0,9, [вп] = -1, [вм] = +0,55 Решение. Двоично-десятичный код заданных чисел имеет вид: [aп]пк = 0,011, [ам]пк = 0.111001, [вп]пк = 1.001, [вм]пк = 0.100011, [aп]дк = 0.011, [aм]дк = 0.111001, [вп]дк = 1.111, [вм]дк = 0.100011, Абсолютные значения операндов А и В имеют вид: [|aм|]дк = 0.111001, [|вм|]дк = 0.100011, [|-вм|]дк = 1.011101. Определим предварительное значение порядка частного: С1п = ап – вп: 00.011 [aп]мдк 00.001 [-вп]мдк 00.100 Найдем предварительное абсолютное значение мантиссы частного за счет выполнения восьми тактов деления. 00.111001 - [|aм|]мдк 11.011101 - [|-вм|]мдк 00.010110 - положительный остаток первого такта; 00.101100 – сдвинутый остаток; +11.011101 - [|-вм|]мдк 00.001001 - положительный остаток второго такта; 00.010010 – остаток после арифметического сдвига влево; +11.011101 - [|-вм|]мдк 11.101111 - отрицательный остаток третьего такта; 11.011110 - остаток после арифметического сдвига влево; +00.100011 - [|вм|]мдк 00.000001 - положительный остаток после четвертого такта; 00.000010 – остаток после арифметического сдвига влево; +11.011101 - [|-вм|]мдк 11.011111 - отрицательный остаток пятого такта; 11.111110 – остаток после арифметического сдвига влево; +00.100011 - [|вм|]мдк 00.100001 - положительный остаток шестого такта; 00.000010 - остаток после арифметического сдвига влево; +11.011101 - [|-вм|]мдк 11.011111 – отрицательный остаток седьмого такта; 11.111110 – остаток после арифметического сдвига влево; +00.100011 - [|вм|]мдк 00.100001 - положительный остаток восьмого такта; 00.000010 – остаток после арифметического сдвига влево;
Учитывая знаки остатков, полученные на восьми тактах, абсолютное предварительное значение мантиссы искомого частного равно: [|С1м|]пк = 1.1010101, с учетом округления: [|С1м|]пк = 1.101011 Нормализуем мантиссу частного, сдвинув ее на один разряд вправо, а предварительное значение порядка частного увеличим на единицу. [|С1м|]пк = 1.101011 0.110110 [|С1п|]пк = 0.100 + 1 = 0.101 Таким образом, [С1м]пк = 0.110110 [С1п]пк = 0.101.