русс | укр

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

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

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

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


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

Выполнение арифметических операций над числами, представленными в дополнительных кодах


Дата добавления: 2015-08-31; просмотров: 995; Нарушение авторских прав


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

Сложение производится по обычным правилам сложения двоичных чисел: единица переноса, возникающая из старшего знакового разряда, просто отбрасывается.

Примеры сложения:

· Х = –0,1101; Y = 0,1001. Результат сложения: 11,0011 + 00,1001 = 11,1101 (или —1100);

· Х = 0,1101; Y = 0,1001. Результат сложения: 00,0011 + 00,1001 = 01,0110 (переполнение, после сдвига вправо получим 00,10110, или +10110);

· Х = 0,1101; Y = –0,1001. Результат сложения: 00,1100 + 11,0111 = 100,0100 (или 00,0100);

· Х = –0,1101; Y = –0,1001. Результат сложения: 11,0011 + 11,0111 = 10,1010 (переполнение, после сдвига вправо получим 11,01010, или –10110).

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

ПРИМЕЧАНИЕ. Добавление единиц слева перед отрицательным числом не изменяет его величины, так как перед положительным числом можно написать сколь угодно нулей не изменяя величины числа; наоборот, перед отрицательным числом (в дополнительном или обратном кодах) добавление лишних нулей недопустимо.



Примеры операции умножения:

Х = 00,111 Ч 00,101 = 00,100011 Х = 00,111 Ч 11111,011 = 11,011101

00,111 00,111

х 00,101 х 11111,011

________________ __________________

00111 00111

00000 00111

00111 00000

00000 00111

00000 00111

___________ 00111

00100011 00111

___________________________

0011011,010101->11,011101

Х = 11111,001 Ч 00,101 = 11,011101 Х = 11111,001 Ч 11111,011 = 00,100011

11111,001 11111,001

х 00,101 х 11111,011

11111001 11111001

00000000 11111001

11111001 00000000

00000000 11111001

00000000 11111001

001011,011101 -> 11,01101 11111001

1111010000,100011 -> 00,100011

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



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


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


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

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

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


 


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

 
 

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

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