1. Почему перед сложением или вычитанием вещественных чисел требуется выравнивать порядки?
Перед сложением или вычитанием вещественных чисел требуется выравнивать порядки, потому что в системах с плавающей запятой числа представлены в виде мантиссы и порядка. Для корректного выполнения операции необходимо привести числа к одному и тому же порядку, чтобы их значащие части имели одинаковый вес, и результат сложения или вычитания был точным.
2. Какое число — большее или меньшее — подвергается сдвигу при выравнивании порядков? Почему?
При выравнивании порядков сдвигается число с меньшим порядком, так как порядок большего числа задаёт общий масштаб для операции. Сдвиг производится для сохранения точности вычислений и правильного позиционирования значащих цифр.
3. Верно ли, что при выравнивании порядков значащая часть всегда сдвигается вправо?
Да, при выравнивании порядков значащая часть всегда сдвигается вправо, чтобы уменьшить её значение и таким образом компенсировать разницу в порядках. Это сохраняет значение числа в рамках его представления в системе с плавающей запятой.
4. Как вычислить количество сдвигов, которое потребуется про-извести для выравнивания порядков?
Количество сдвигов определяется разницей между порядками сравниваемых чисел. Вычисляется как модуль разности их порядков: |порядок_большего_числа - порядок_меньшего_числа|.
5. Может ли оказаться так, что при выполнении операции сложения значащие части придётся не складывать, а вычитать?
Да, при выполнении операции сложения значащие части могут вычитаться, если одно из чисел имеет отрицательный знак. В этом случае фактически выполняется вычитание значащих частей.
6. Как изменится двоичный код вещественного числа, если это число умножить на 2? Сравните с тем, как меняется код целого числа при удвоении.
При умножении вещественного числа на 2 его порядок увеличивается на 1, а мантисса остаётся неизменной. Это связано с тем, что умножение на 2 эквивалентно увеличению масштаба числа. В случае целого числа его двоичный код при умножении на 2 смещается влево на одну позицию, что соответствует увеличению значения числа.
7. Почему в компьютерной арифметике возможны случаи, когда A+B=A при В <> О? При каких условиях может так получиться?
В компьютерной арифметике возможны случаи, когда A + B = A при B ≠ 0, если значение B настолько мало по сравнению с A, что его добавление не влияет на значение результата из-за ограниченной точности представления чисел (эффект "потери значимости"). Это происходит, когда разница в порядках A и B велика, и при выравнивании порядков значащая часть B сдвигается настолько вправо, что её значимость теряется.
*8. Может ли при вычитании быть переполнение? Антипереполнение?
При вычитании может возникнуть переполнение, если результат выходит за пределы диапазона представления чисел, например, при вычитании большого отрицательного числа из большого положительного числа. Антипереполнение возможно в арифметике с плавающей запятой, если результат вычитания становится слишком мал и мантисса "схлопывается" до нуля.
9. Сформулируйте правила умножения и деления вещественных чисел.
При умножении вещественных чисел их мантиссы перемножаются, а порядки складываются. Знак результата определяется по правилу умножения знаков: "+" на "+" даёт "+", "+" на "−" даёт "−". При делении вещественных чисел мантисса делимого делится на мантиссу делителя, а порядок делимого уменьшается на порядок делителя. Знак результата определяется по правилу деления знаков: "+" на "+" даёт "+", "+" на "−" даёт "−".
*10. Верно ли, что когда для размещения результата умножения в значащей части не хватает разрядов — это переполнение? Когда возникает переполнение?
Да, если при умножении в значащей части не хватает разрядов для размещения результата, это считается переполнением. Оно возникает, если произведение мантисс превышает максимально допустимое значение в заданном формате (например, 1 для нормализованных чисел). Переполнение также может возникать при сложении или умножении, если порядок результата выходит за пределы диапазона представления.
11. Может ли в результате арифметической операции нарушиться нормализация? Как в таких случаях нужно поступать?
В результате арифметической операции нормализация может нарушиться, если мантисса выходит за пределы допустимого диапазона (например, становится меньше 1 или больше 10 для нормализованного представления). В таких случаях мантисса корректируется (путём сдвига влево или вправо), а порядок изменяется соответственно, чтобы вернуть число в нормализованную форму.