Вс. Апр 14th, 2024

Операции вычитания, сравнения двух целых чисел и целочисленного деления

Операцию вычитания отдельно можно не описывать, так как любое вычитание можно заменить на сложение с числом противоположного знака, т.е. а - b = а + (-b). Получаемые при этом отрицательные…

Операция умножения

Рассмотрим способность реализации в двоичной арифметике умножения. "Быстрый" вариант обыкновенного умножения был известен еще в Древнем Египте, его также называют "русским" или "крестьянским" методом. Разберем пример такого умножения. Умножим 23…

Операция сложения двух целых чисел

Перейдем к описанию "быстрого" алгоритма сложения, который в общем случае более эффективен, чем побитовое сложение с переносом двух двоичных k-разрядных чисел, эквивалентное сложению столбиком. "Быстрый" алгоритм использует такие элементарные операции…

Операция прибавления единицы

Наиболее простой компьютерной арифметической операцией над целыми числами, обычно реализованной аппаратно, является прибавление единицы. В большинстве языков программирования для выполнения такой операции существует специальное обозначение, отличное от обычного сложения. Так,…

Ошибки, связанные с конечной разрядностью арифметики

Как было показано, целочисленная арифметика в ограниченном числе разрядов несколько отличается от обычной. При выполнении арифметических действий в целочисленной k-разрядной арифметике возможно возникновение следующих ошибок: левые цифры результата, выходящие за…

Прибавление и вычитание произвольного числа

Прибавление или вычитание произвольного числа n соответствует n единичным шагам вдоль кольца от исходного числа в нужном направлении. Так, в 8-разрядном беззнаковом типе: 254 + 4 = 2, 200 -…

Прибавление и вычитание единицы

Наглядным представлением любого целого типа данных является кольцо, состоящее из расположенных по порядку констант этого типа, причем рядом с максимальным значением в типе находится минимальное, например: Результатом прибавления единицы в…

Диапазоны изменения значений для знаковых типов

Целые числа со знаком для k-разрядных типов принадлежат диапазону . Этот диапазон не является симметричным относительно 0, что следует учитывать при программировании. Если, например, изменить знак у наибольшего по модулю…

Алгоритм получения десятичного числа по его дополнительному коду

Все целые отрицательные числа в машине представляются дополнительным кодом. Для получения десятичного значения этого отрицательного числа надо выполнить следующие действия (алгоритм получения исходного числа по его дополнительному коду): Из дополнительного…

Алгоритм получения дополнительного кода

Для получения дополнительного k-разрядного кода отрицательного числа необходимо следующее: Модуль числа представить прямым кодом в k двоичных разрядах. Значения всех бит инвертировать (все нули заменяются на единицы, а единицы на…