Кластерный компьютер Приемы повышения производительности Двоичная арифметика Программирование на языке ассемблера

Двоичное представление числа требует примерно в 3,3 раза большего числа разрядов, чем его десятичное представление. Тем не менее применение двоичной системы счисления создает большие удобства для работы ЭВМ, т. к. для представления в машине разряда двоичного числа может быть использован любой запоминающий элемент, имеющий два устойчивых состояния.

Двоичная арифметика

Рисунок А.6 иллюстрирует сложение двоичных чисел.

Сложение двух двоичных чисел начинается с крайнего правого бита. Суммируются соответствующие биты в первом и втором слагаемых. Перенос совершается на одну позицию влево, как и в десятичной арифметике. В арифметике с дополнением до единицы бит переноса после сложения крайних левых битов прибавляется к крайнему правому биту. Этот процесс называется циклическим переносом. В арифметике с дополнением до двух бит переноса, полученный в результате сложения крайних левых битов, просто отбрасывается. Примеры арифметических действий над двоичными числами показаны на рис. А.7.

Рис. А.7. Сложение в системах с дополнением до единицы и с дополнением до двух

Если первое и второе слагаемые имеют противоположные знаки, ошибки переполнения не произойдет. Если они имеют одинаковые знаки, а результат — противоположный знак, значит, произошла ошибка переполнения и результат неверен. И в арифметике с дополнением до единицы, и в арифметике с дополнением до двух переполнение происходит тогда и только тогда, когда перенос в знаковый бит отличается от переноса из знакового бита. В большинстве компьютеров перенос из знакового бита сохраняется, но перенос в знаковый бит из результата не виден, поэтому обычно вводится специальный бит переполнения.

Вопросы и задания

Преобразуйте следующие числа в двоичные: 1984, 4000, 8192.

Преобразуйте двоичное число 1001101001 в десятичную, восьмеричную и ше- стнадцатеричную системы.

Какие из символьных строк BED, CAB, DEAD, DECADE, ACCEDED, BAG, DAD являются шестнадцатеричными числами?

Выразите десятичное число 100 в системах счисления с основаниями от 2 до 9.

Сколько различных положительных целых чисел можно выразить в k разрядах, использовав числа с основанием системы счисления г?

Большинство людей с помощью пальцев на руках могут сосчитать до 10. Однако компьютерщики способны на большее. Представим, что каждый палец соответствует одному двоичному разряду. Пусть вытянутый палец означает 1, а загнутый — 0. До скольки мы можем сосчитать, используя пальцы обеих рук? А если рассматривать пальцы на руках и на ногах? Представим, что большой палец левой ноги — это знаковый бит для чисел с дополнением до двух. Сколько чисел можно выразить таким способом?

Выполните следующие вычисления над 8-разрядными числами с дополнением до двух:

00101101 + 01101111 11111111 + 11111111 00000000 - 11111111 11110111 - 11110111

Выполните те же вычисления в системе с дополнением до единицы.

Далее приведены задания на сложение 3-разрядных двоичных чисел в системе с дополнением до двух. Для каждой суммы установите:

Равен ли знаковый бит результата единице.

Равны ли младшие три бита нулю.

Не произошло ли переполнения.

000 + 001 000 + 111 111 + 110 100 + 111 100 + 100

Наряду с двоичными кодами, с которыми оперирует ЭВМ, для ввода и вывода десятичных чисел (данных) используют специальное двоично-десятичное кодирование. При двоично-десятичном кодировании каждая десятичная цифра заменяется тетрадой (четверкой) двоичных цифр, а сами тетрады записываются последовательно в соответствии с порядком следования десятичных цифр.
Кластерные вычисления Процессор 8088 Программирование на языке ассемблера