русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Отрицательные числа


Дата добавления: 2014-02-04; просмотров: 759; Нарушение авторских прав


Логические операции

Двоичное вычитание

Двоичное вычитание можно выпол­нить, применяя арифметику двоичного дополнения.

Двоичное дополнение (дополни­тельный код) двоичного числа можно по­лучить, заменив в числе нули единицами, а единицы-нулями, прибавив затем еди­ницу. На первом шаге этого преобразова­ния формируется обратный код числа.

Двоичное вычитание может быть вы­полнено прибавлением дополнительного кода вычитаемого к уменьшаемому. В ка­честве примера рассмотрим следующее двоичное вычитание:

 



Уменьшаемое (3910)
Вычитаемое -(2610)
  (1310)

 

С помощью дополнительного кода вычитание можно выполнить следующим образом:

 



 
Инвертирование
+              
Дополнительный код вычитаемого

 

 



Уменьшаемое (3910)
Вычитаемое в дополнительном коде  
1- перенос (1310)

 

Перенос означает, что результат положительный.

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

Булевы операции над двумя числами, каждое из которых состоит более чем из одного разряда, можно выполнять пораз­рядно, начиная с самого младшего разря­да. Например:

 



 
Ú
 

 

Рассмотрим операцию И.

 



 
Ù
 

Рассмотрим задачу представления по­ложительных и отрицательных чисел 8-разрядными словами. Поскольку не су­ществует ни одного способа представить восемью битами более чем 256 различных чисел, их диапазон ограничивается величи­нами ± 127. Первые 128 чисел, от 0 до 127 (7F в шестнадцатеричной системе), опреде­ляются как положительные числа. Отрица­тельные числа получаются обратным от­счетом от нуля. Так же и в аппаратном реверсивном счетчике-если содержимое регистра равно 00000000 и происходит уменьшение этого числа на единицу, то следующим показанием счетчика будет 1111 1111 (FF в шестнадцатеричной системе). Следовательно, FF является шестнад-цатеричным представлением числа — 1. Такое представление носит название до­полнения до двух (или дополнительного кода числа). В табл. 2.5 приведены допол­нительные коды чисел от — 8 до +7.

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

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

1. Записать двоичное представление абсолютной величины числа (например, 00000101 для числа -5).

2. Произвести инвертирование (полу­чить обратный код) двоичного числа (на­пример, для числа 00000101 это будет 11111010).

3. Прибавить единицу для получения дополнительного кода числа (например,

11111010+1=11111011= = дополнительный код числа — 5).

Такую же процедуру нужно проделать и для получения абсолютного значения отрицательного числа по его дополнитель- ному коду: следует образовать дополнение числа, выражающего дополнительный код, и затем прибавить единицу, Рассмотрим, например, дополни

тельный код числа 11111011:

11111011=00000100 00000100+1= 00000101= 5

Следовательно, 11111011 есть дополнительный код отрицательного числа - 5.

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

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

 



Таблица 2.5. Дополнительные коды чисел от —8 до +7

 



Десятичное число Двоичный дополнительный код
0000 0111
0000 0110
0000 0101
0000 0100
0000 0011
0000 0010
0000 0001
0000 0000
-1 1111 1111
-2 1111 1110
-3 1111 1101
-4 1111 1100
-5 1111 1011
-6 1111 1010
-7 1111 1001
-8 1111 1000

 



<== предыдущая лекция | следующая лекция ==>
Двоичное сложение | Бoльшиe и мaлыe чиcлa


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.458 сек.