logo
Лекция_Представление_информации_в_компьютере1

Особенности реализации арифметических операций в конечном числе разрядов.

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

старшие (левые) цифры результата, выходящие за отведенное количество разрядов, оказываются утерянными;

при сложении или умножении двух положительных чисел, имеющих знаковое представление, можно получить отрицательное число, если в результате сложения (умножения) в левом знаковом бите окажется единица.

Пример. Выполним сложение 10010 и 5110 в знаковом восьмиразрядном представлении. В этом представлении числа имеют следующий вид: 10010 = 0110 01002 и 5110 = = 0011 00112. При сложении этих чисел получим 1001 01112. Самая левая единица (знаковый разряд) указывает на то, что в 8 разрядах записано отрицательное число. Таким образом, в восьмиразрядной знаковой арифметике 100 + 51 = -105, т. е. при сложении двух положительных чисел мы получили отрицательное число!

Вопросы.

  1. Обоснуйте целесообразность представления особым образом в компьютере целых чисел.

  2. Приведите пример умножения в ограниченном числе разрядов двух положительных чисел, в результате которого получается отрицательное число.

  3. Перечислите и объясните все ошибки, которые могут возникать при выполнении арифметических операций над целыми числами в компьютерной арифметике в ограниченном числе разрядов.

  4. Покажите, каким образом использование дополнительного кода позволяет заменить операцию вычитания операцией сложения.

  5. В восьмиразрядной ячейке запишите дополнительные коды следующих двоичных чисел: а) -1010; б) -1001; в) -11; г) -11011.

  6. Можно ли по виду дополнительного кода числа сказать, четно оно или нечетно?

  7. Найдите десятичные эквиваленты отрицательных чисел, записанных в дополнительном коде: а) 11000100; б) 11111001.

  8. Какие из чисел 4316, 1010102, 12910 и -13510 можно сохранить в одном байте (в 8 разрядах)?

  9. Получите 16-разрядное представление следующих чисел: а) 25; б) -610.

  10. Для чисел А = 11102, В = 11012 выполните следующие операции: А + В; А - В; В - А; -А - А; -В - В; -А - В (в восьмиразрядном знаковом представлении).