загрузка...

 

загрузка...
Знакомство с ЭВМ     |     Представление двоичных чисел

Обозначение систем счисления

Если написать число 101 и не указать его систему счисления, то возникает неопределенность, так как в десятичной системе это: Одна сотня, нуль десятков, одна единица, а всего — сто один, в двоичной системе: Одна четверка, нуль двоек, одна единица, а всего — пять, а в шестнадцатеричной : Одно число двести пятьдесят шесть, нуль чисел шестнадцать и одна единица, а всего — двести пятьдесят семь.

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

Рассмотрим некоторые способы таких обозначений. В научной и технической литературе на немецком языке для обозначения чисел, написанных в двоичной системе, вместо символа 1 иногда употребляют латинскую букву L, записывая не 101, a L0L. Тогда 101 означает сто один в десятичной системе, a L0L — четверка плюс единица в двоичной системе.

В отечественной литературе для обозначения системы счисления чаще всего пишут внизу справа от числа мелким шрифтом, цифровой показатель (индекс), заключая его иногда в скобки. Например: запись 10110 или 101(10) означает: сто один в десятичной системе счисления; запись 1012 или 101(2) говорит о том, что число написано в двоичной системе счисления. Читается оно так: Один, нуль, один в двоичной системе, что означает: одна четверка, нуль и одна единица, или пятерка в десятичной системе (1012= 5ю).

Очень часто в отечественной и зарубежной литературе по микропроцессорной технике системы счисления обозначают при помощи заглавных латинских букв, следующих за цифрами. Для обозначения двоичной системы используется буква В , для восьмеричной 0 или Q, для десятичной D и для шестнадцатеричной Я. Иногда буква D в десятичной системе опускается.

Таким образом, число пять может быть записано в десятичной системе как 510, 5(10) или 5D, а также просто как 5; в двоичной системе — как 1012, 101(2) или 101В; в шестнадцатеричной — как 5,6, 5(16) или 5Н; 510 = 5(10)= 5D = 5 = 1012 = 101В = 516 = = 5(16) == 5Н.

Арифметика двоичных чисел

Арифметические действия над двоичными числами производят по тем же правилам, что и над десятичными, но так как двоичная система имеет всего два символа (1 и 0), то вычисления получаются значительно проще.

. Вот так выглядит таблица сложения двоичных чисел:

Таблица вычитания для двоичных чисел пишется так:

В четвертой строке приведена запись для вычитания с займом. Так как от нуля отнять единицу нельзя, то приходится занимать единицу в старшем разряде. Но эта единица для данного разряда означает два. Вычитая из этой двойки единицу, получаем один,

Таблица умножения двоичных чисел выглядит так:

Она полностью соответствует таблице умножения для десятичных чисел.

В заключение приводим таблицу деления двоичных чисел:

Здесь, в двух последних строчках имеет место неопределенность, известная из школьной арифметики.

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

Объясним, как именно.

1. Вычитание. Действие вычитания можно заменить сложением, если к уменьшаемому добавить число, являющееся дополняемым к вычитаемому, то есть дополняет его до следующего старшего разряда. Сложив уменьшаемое и дополняемое, значение старшего разряда отбрасывают и получают результат вычитания. Объясним сказанное на примере вычитания десятичных чисел. Пусть требуется выполнить действие: 68 — 35.

Находим дополняемое к вычитаемому 35 (число, дополняющее 35 до высшего разряда — сотен). Это будет число 65, так как 100 — 35 = 65. Складываем уменьшаемое 68 и дополняемое 65, получаем 68 + 65= 133. Отбросив старший разряд (сотню), имеем 33. Действие завершилось правильным. ответом.

При десятичном счете к такому приему вычитания обычно не прибегают, так как вычисление дополняемого не менее сложно, чем выполнение самого вычитания. А вот для двоичных чисел этот прием применим. Здесь дополняемое число находится очень просто.

Оно определяется так. Заменяют в двоичном числе все единицы на нули - на единицы, получая так называемый обратный код двоичного числа. Прибавляя к этому обратному коду единицу в нулевом разряде, получаем нужное нам дополняемое число, которого с уменьшаемым приводит к разности двух чисел.

Для уяснения этих приемов выполним вычитание двоичных чисел методом сложения. Воспользуемся теми же числами 6810 и 3510 но записанными в двоичной форме:

уменьшаемое 10001002 = 6810 вычитаемое 01000112 — 3510

Находим обратный код вычитаемого:

0100011 (вычитаемое)

1011100 (обратный код вычитаемого)

Прибавляем единицу и получаем дополняемое (его часто называют пополнительным кодом):

Складываем уменьшаемое и дополнительный код

Отбрасываем единицу старшего разряда:

0100001

Получаем итог вычитания:

01000012 = 3310.

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

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

Рассмотрим пример:

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

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

3. Деление. Деление многоразрядных двоичных чисел является наиболее сложной и длинной процедурой из всех четырех арифметических действий. Не рассматривая его подробно, заметим, что деление сводится к многократному вычитанию и сдвигу чисел, но так как вычитание можно заменить сложением В дополнительном коде, то процесс деления состоит из таких трех операций:

сложения делителя в дополнительном коде с делимым;

сдвига;

сложения делителя с остатками, предварительно сдвигаемыми на каждом шаге деления влево на один разряд.

Реклама