Лекция: Арифметические операции со знаковыми числами в ЭВМ (оргЭВМ)
Для устранения этого недостатка в ЭВМ часто используют модифицированные коды: для изображения знака числа используются 2 двоичных разряда, при этом знак "+" изображается комбинацией 00, а знак "-" -комбинацией 11. Тогда ситуация переполнения определяется при разных значениях битовых разрядов знака, а именно, если в знаковых разрядах получаются комбинации 01 или 10 — значит, произошло переполнение.
Например, сложим –120 и –34 и –13 и +98:
11.0001000 11.1110011
+11.1011101+00.1100010
1 10.1100110 (переполнение) 1 00.1010101 (нет переполнения)
Умножение многоразрядных двоичных чисел производится путем образования частичных произведений и последующего их суммирования. Частичные произведения получаются после сдвигов умножителя. Единственной особенностью является то, что если сомножитель является отрицательным (знаковые разряды равны 11), то перед началом умножения следует приписать к нему слева столько единиц, сколько значащих разрядов у другого сомножителя справа от запятой. Результат произведения всегда получается в дополнительном коде.
Операция деления представляется последовательностью операций вычитания и сдвига делителя.
Следует отметить некоторые особенности выполнения операций над числами с плавающей запятой. При сложении или вычитании чисел с одинаковыми порядками, их мантиссы складываются или вычитаются, а порядку присваивается общее значение. Если порядки исходных чисел разные, то сначала эти порядки выравниваются (число с меньшим порядком приводится к числу с большим порядком), а затем мантиссы складываются или вычитаются. Сумма или разность имеют порядок большего числа. Если при нахождении суммы или разности получается переполнение, то мантисса сдвигается вправо на один разряд, а порядок результата увеличивается на 1.
При умножении чисел с плавающей запятой их мантиссы перемножаются, а порядки складываются.
При делении мантисса делимого делится на мантиссу делителя, а порядок результата получается как разница порядка делимого и делителя. При этом, если мантисса делимого больше мантиссы делителя, то частное окажется больше 1 (происходит переполнение). В этом случае частное сдвигается на 1 разряд вправо, а порядок результата увеличивается на 1.
5. Какие схемы применяются при документировании проекта разработки ПО, согласно ГОСТ 19.701-90? Каково функциональное назначение этих схем? (ТП)
Схема — графическое представление определения, анализа или метода решения задачи, в котором используются символы для отображения операций, данных, потока, оборудования и т.д. Схемы состоят из символов, краткого пояснительного текста и соединяющих линий. При документировании проекта разработки ПО применяют схемы: 1. Работы системы, в которой формализуется процесс выполнения программы, взаимодействие с пользователем и данными 2. программ (или иначе блок-схем), в которых формализуется алгоритм обработки данных 3. данных, в которых уточняются потоки данных между процессами и (или) носителями данных 4. взаимодействия программ, отображающих путь активации программ и взаимодействий с данными 5. ресурсов системы, отображающих конфигурацию блоков данных и обрабатывающих блоков, требуемую для решения задачи или набора задач.
Билет 28
1. Коды: прямой, обратный, дополнительный. (Инф.)
Для хранения чисел и выполнения различных операций над ними их представляют различными кодами: прямым, обратным и дополнительным. Код числа в форме с фиксированной точкой, состоящий из кода знака и q-ичного кода его модуля, называется прямым кодом. Разряд прямого кода числа, в котором располагается код знака, называется знаковым разрядом кода. Разряды прямого кода числа, в которых располагается q-ичный код модуля числа, называются цифровыми разрядами кода. При записи прямого кода знаковый разряд располагается левее старшего цифрового разряда и обычно отделяется от цифровых разрядов точкой. Правило представления Q-ичного кода числа в прямом коде имеет вид:
где хi — значение цифры в i-м разряде исходного кода. При представлении чисел в прямом коде реализация арифметических операций в ЭВМ должна предусматривать различные действия с модулями чисел в зависимости от их знаков. Так, сложение в прямом коде чисел с одинаковыми знаками выполняется достаточно просто. Числа складываются и сумме присваивается код знака слагаемых. Более сложной является операция алгебраического сложения в прямом коде чисел с различными знаками. В этом случае приходится определять большее по модулю число, производить вычитание чисел и присваивать разности знак большего по модулю числа. Для упрощения выполнения операций алгебраического сложения в ЭВМ используются специальные коды, позволяющие свести эту операцию к операции арифметического сложения. В качестве специальных в ЭВМ применяются обратный идополнительный коды. Они образуются из прямых кодов чисел, причем специальный код положительного числа равен его прямому коду. Для обозначения обратного кода числа Х(q) используется запись вида [Х(q)]обр.Правило представления q-ичного кода числа в обратном коде имеет вид:
Для преобразования прямого кода двоичного отрицательного числа в обратный код и наоборот необходимо знаковый разряд оставить без изменения, а в остальных разрядах нули заменить на единицы, а единицы на нули. Для обозначения дополнительного кода числа Х(q) используется запись
вида [X(q)]доп. Правило представления q-ичного кода числа в дополнительном коде имеет вид: