Й.Янсен Курс цифровой электроники. Том 1. Основы цифровой электроники на ИС (1987) (1092081), страница 8
Текст из файла (страница 8)
1.8. Положительные и отрицательные числа В двоичной системе, как и в десятичной, необходимо указывать знак числа. Для этого используется старший разряд, который называют знаковым разрядом. Он равен О для положительных чисел и 1 — для отрицательных. Наибольшее десятич- Дискрстиал скемотекника и деоияиое исчисление нос число, которое в этом случае можно записать с помощью л битов, равно 2"-' — 1, так как один бит всегда занят под знак числа. Например, для числа из 5 битов максимальное значение составляет 2' — 1 15. Запись отрицательных чисел осуществляется методом дополнения, по которому 1 н О положительного числа прн переходе к соответствующему отрицательному числу заменяется на О и 1. Эта система записи называется также записью с дополие- сн Пг но но 7еоонное полоненное оно оотпненое оо 7 Понноенононненое от оотнненое оо 2 !ггН,) к2з,дг7г„м~'+О,2е — 7дз8 О+2+и Рис.
1.27. Порезрядное и полное дополнения. нием до 1, или записью с неполным дополнением. Наряду с дополнением до 1 используется также запись с дополнением до 2, или запись с полным дополнением, которое соответствует дополнению до 1+1. Обе системы записи встречаются при выполнении арифметических операций в цифровых схемах и особенно часто в ЭВМ'1. Различие между этими системами иллюстрируется на рис. 1.27, где вертикальная линия выделяет максимальное значение, которое можно записать с помощью 4 битов.
В этом примере оно равно 15, т. е. 2' — 1. Если мы возьмем, например, число 6, то, как следует из рисунка, его дополнение равно 15 — 6=9. Двоичное представле- о Запись с дополнением до 1 называется также обретным кодом, е запись с дополнением до 2 — дополнительнмм кодом. — Прим. рсд. Глава 1 ние числа 6 есть 0110, а числа 9 — 1001.
Отсюда видно, что двоичный цифровой код дополнения 9 является обратным по отношению к цифровому коду, соответствующему числу 6 при заданном числе разрядов. Мы называем 9 поразрядным дополнением числа 6, потому что максимальное число, которое можно написать с помощью двоичного цифрового ряда, равно в данном случае 24 — 1, т. е. оно на 1 меньше числового значения полного дополнения. До- Рис, 1 28, Представление положительных и отрицательных чисел в виде допол- нения до 1 (а) н до 2 (б). полнением, по определению, является дополнение числа до ближайшей следующей более высокой степени 2, расположенной за пределами разрядной сетки.
В случае, изображенном на рис. 1.27, оно оказывается вне границ разрядной сетки, так как равно 2'=16, т. е. на 1 больше, чем максимальное число, которое можно написать с помощью четырех двоичных цифр. Итак, поразрядное дополнение данного числа мы получим, инвертнруя биты этого числа, т. е. заменяя в ием единицы на нули и наоборот. Полное дополнение равно поразрядному дополнению плюс 1. На рис. 1.28 приведены две таблицы положительных и отрицательных чисел, причем отрицательные числа записаны в левой таблице с дополнением до 1 (неполным), а в правой таблице — с дополнением до 2 (полным). Что касается десятичного нуля, то при записи с дополнением до 1 мы получаем наряду с положительным нулем еще и отрицательный, однако при записи Дискретная скемотекника и двоичное исчисление с дополнением до 2 получается только одно нулевое значение! Преобразование отрицательных двоичных чисел в десятичные обычно производится методом дополнения до 2, т.
е. путем уменьшения соответствующего двоичного числа на 1 и последующего обращения полученного результата, который затем преобразуется в десятичное число обычными способами. Представление отрицательного числа методом дополнения до 2 дает точное значение этого числа, если мы вычисляем цифровые коды с учетом знакового бита. Убедимся в этом на примере числа — б нз таблицы, приведенной на рис. 1.28.
Запись числа б с дополнением до 2 имеет вид Ш 0 1 1 П = Ьазааый разряд Если мы преобразуем это число в десятичное, получим — 1 тс 23 + Ох2с + 1х2' + 1х20 — 8 + 0 + 2 + + 1 — 5 1.9. Сложение и вычитание двоичных чисел Правила двоичного сложения, как показывает следующая таблица, довольно просты: 0+0=0 0+1=1 1+0=1 1+1 =0 (ч1 в уме») Эти правила идентичны соответствующим правилам в десятичной системе, кроме одного: сумма 1+ 1 в десятичной системе равна 2', т. е. ближайшей более высокой степени 2 после 2с= 1, Кроме того, при сложении 1+1 = 1 0 возникает перенос в т.
е. запись с дополнением до 2 дает точное представление соответствующего отрицательного числа. Системы записи с дополнением до 1 и до 2 широко применяются для представления отрицательных чисел в различных вычислительных устройствах (в частности, в ЭВМ). Обе системы широко используются также для выполнения арифметических операций. Глава 1 следующий разряд, т. е. на языке школьников мы получаем 1 «в уме».
Ниже показано, как происходит сложение двух чисел, состоящих из большого числа битов, например чисел 21 и 9: ! О» 30~о = 1 ! 1 ! О. Мы начинаем со сложения самых младших битов, т. е. битов, находящихся в крайней правой позиции. При этом сразу же возникает перенос, так как 1+1=1 О. Этот перенос необходимо учитывать при сложении следующих (соседних) битов. Цифра 1, которую мы держим в уме, указана над следующей колонкой слева, где сложение 1+0+0=1 происходит без переноса. При сложении остальных битов переноса также не возникает. Вычитание в двоичной системе происходит так же, как и в десятичной.
Если мы снова составим таблицу, она будет выглядеть следующим образом: 0 †0 0 — 1=1 (2 занято из «левого» бита) 1 †0 1 †1 Если встречается разность 0 — 1, мы занимаем 1 из следующего бита; если это невозможно, занимаем 1 из более старшего бита, т. е. делаем то же, что и в десятичной системе. Приведем пример вычитания: Г2 О ! О 0 !2 21~о = 9~о = !21о = О ! 1 О О» В четвертой позиции справа мы должны занять из бита, расположенного слева в уменьшаемом.
Здесь 1превратится в 2 в колонке, куда мы «занимаем». Во всех случаях выполняется 10»=2ио Что мы в действительности сделали с двумя последними битами? Уменьшили 1 О» на 0 1», т. е. получили 10» — 0 1»= Дискретная схемотехника и двоичное исчисление (-Ф) — (-д ) =-У -ФЕ07 1 (+4) — С+Л) =+У +4)0]/ 0 0 0 0 0 7 =+7 (+е ) — (-5) =+7 Рис. !.29. Примеры вычитания отрипательиых чисел, представлевяых в виде дополнения до 1, а) При записи отрицательных чисел с дополнением до 1 или до 2 при вычитании можно обратить вычитаемое и после этого прибавлять его к уменьшаемому. б) Если при сложении отрицательных чисел в знаковом разряде возникает перенос, при записи с дополнением до 1 переносимое число необходимо прибавить к самому младшему биту.
в) При записи отрицательных чисел с дополнением до 2 (-т )-(е)=. — т ( е) 17)тор (-з) Бто1— О ое)-( — ю= т т ье) Патоо й)1 / (-л) (11(от персов- Пап О еае т а О Е~~ т т='т Рис. 1.ЗО. Примеры вычитания отрипательных чисел, представленных в виде дополнения до 2.
=01а. Вместо такого вычитания можно прибавить вычитаемое в виде отрицательного числа, что даст тот же результат. Используя запись с дополнением для отрицательных чисел, вычитание можно заменить сложением отрицательных чисел по следующим правилам: Глава 1 при вычитании необходимо постоянно прибавлять 1 к самому младшему биту суммы. Переносы, возникающие при этом в позиции старших битов, можно не учитывать.
На рис. 1.29 п 1.30 показаны примеры вычитания путем сложения отрицательных чисел для систем записи с дополнением до 1 и до 2 соответственно. 1.10. Умножение двоичных чисел Для умножения двоичных чисел можно использовать те же правила, что и для умножения десятичных чисел. Мы начинаем с умножения самого младшего бита множимого, т. е. первого сомножителя, на второй сомножитель, как это показано на рис. 1.31. Результат умножения мы записываем, затем берем соседний бит и производим следующее умножение. Этот результат сдвигается на одну позицию влево относительно положения результата первого умножения.
И так поступаем до тех пор, пока не умножим все биты множимого на множитель. Сдвинутые частные произведения мы суммируем и получаем сумму, т. е. результат умножения. Аряяллояаа Х Жр ряаа ~асло яяяяа Иу 10 д ~Д1 ру апр О/ I д 1Р11 У У 1 Р 1 13яояяомй разряр Рис. 1.31, Двоичное умножение по прввилвм десятичной системы. В цифровой технике умножение реализуется несколько иначе, т.
е. применяется метод, более удобный с точки зрения технической реализации, однако основа процесса вычислений остается прежней. Для хранения обрабатываемых чисел при умножении требуется не менее трех регистров, которые мы обозначим через А, В и С. Регистр состоит из элементов памяти, которые называются запоминающими ячейками. Эти элементы представляют собой в основном триггеры, которые более подробно рассмотрены в последуюгцих главах.
В регистр можно записать двоичное число. С помощью сигналов считывания с выходов ячеек, из которых состоит регистр, Дискретная схемотехники и двоичное исчисление запрашивается содержимое этих элементов, т. е. двоичные числа. Регистры сконструированы так, что содержащиеся в них биты можно сдвигать влево и вправо, например все биты можно сдвигать на одну позицию влево илн вправо.
Кроме того, тот бит, который был удален с одного конца регистра, можно поместить в другой конец илн даже передвинуть в другой регистр„ Проагдеапнаесдр Инплансепс:Б Мналанпесд Регистр П С 0 'о ' Регапур Ю асса пспг Р асса' 'ассп дСаг Х С'),Лнпнпдь а" раернп Рис. П32. Двоичное умножение ири цифровой обработке данных.