русс | укр

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

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

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

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


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

Сложение шестнадцатеричных чисел


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


 

                                             
                F       F             FF
                      F            
    A       D             1E            

 

Тема 6. Арифметичесике операции

Сложение чисел выполняется командой ADD:

 

ADD AX,BX

По этой команде к содержимому регистра АХ прибавляется содержимое регистра ВХ, результат сложения записывается в регистр АХ.

 

                             
    AX             10H       00010000B
    BX             04H       00000100B
    AX             14H       00010100B

 



Вычитание чисел выполняется командой SUB:

 

SUB AX,BX

По этой команде из содержимого регистра AX вычитается содержимое регистра BX, результат вычитания записывается в регистр AX.

 

                            00000100B        
    AX             10H       11111011B       00010000B
    BX             04H       1B       11111100B
    AX             0СH       11111100B     00001100B

 

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

В знаковом формате старший седьмой бит в байте является не числовым, а знаковым. Если знаковый бит имеет значение 0, то число считается положительным. Если знаковый бит имеет значение 1, то число считается отрицательным. Остальные 7 младших бит в байте являются числовыми и представляют либо положительное число в прямом двоичном коде, либо отрицательное число в дополнительном двоичном коде.

 

Беззнаковый формат Знаковый формат
Десятичное Двоичное Десятичное Двоичное
+1 0000 0001 +1 0.000 0001
+2 0000 0010 +2 0.000 0010
+5 0000 0101 +5 0.000 0101
+11 0000 1011 +11 0.000 1011
+121 0111 1001 +121 0.111 1001
+127 0111 1111 +127 0.111 1111
+137 1000 1001 -119 1.000 1001
+246 1111 0110 -10 1.111 0110
+249 1111 1001 -7 1.111 1001
+252 1111 1100 -4 1.111 1100

 

Если при сложении знаковых чисел полученный результат выходит за пределы диапазона -128 --- +127, то возникает ошибка сложения.

 

    Двоичное       Десятичное  
                                   
                  +121
                  +11
                  -124
                                         

 

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

 

    Двоичное       Десятичное  
                                 
                -10
                -119
              +127
                                   

 

Ситуация, при которой в результате сложения двоичных чисел в полученной сумме единица вытесняется за пределы байта, т.е. образуется 9-битовое число, называется – перенос. При возникновении переноса результат сложения знаковых чисел будет неправильным.

 

    Двоичное       Десятичное  
                                 
                -4
                +5
              +1
                                   

 

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

 

    Двоичное       Десятичное  
                                 
                +121
                +11
                +132
                                   

 

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

 

    Двоичное       Десятичное  
                                 
                +246
                +137
              +127
                                   

 

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

 

    Двоичное       Десятичное  
                                 
                +252
                +5
              +1
                                   

 

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

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

 

Для умножения беззнаковых чисел используется команда MUL.

Для умножения знаковых чисел используется команда IMUL.

Для деления беззнаковых чисел используется команда DIV.

Для деления знаковых чисел используется команда IDIV.

 



<== предыдущая лекция | следующая лекция ==>
Шестнадцатеричное представление информации. | Код ASCII


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


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

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

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


 


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

 
 

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

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