Программирование на JAVA

4.2, б. Сравните эту окружность с окружностью для сложения по модулям 32 и 64. Представление от­рицательных чисел, -1, -2 и т. д., будет точно таким же, с дополнительной едини­цей слева. Операция добавления единицы называется расширением знака.

Теперь вы знаете, насколько просто выполняется сложение и вычитание чисел со знаком в системе дополнения до двух. Поэтому для представления чисел в со­временных компьютерах выбрана именно эта система. Может показаться, что и система дополнения до 1 не хуже, но это только на первый взгляд. Хотя вычис­лить дополнение до единицы и проще, результаты операции сложения не всегда оказываются правильными. В данном случае нельзя игнорировать перенос, сn. Если сn = 0, полученный результат будет верным. Но если сn = 1, то для определе­ния точного результата к полученному значению нужно добавить 1. Необходи­мость в этом поправочном цикле, зависящая от значения переноса, делает опера­ции сложения и вычитания в системе дополнения до единицы более сложными, чем в системе дополнения до двух.


Рис. 4.3. Операции сложения и вычитания в системе дополнения до двух

Переполнение в целочисленной арифметике


<< назад вперед >>