русс | укр

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

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

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

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


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

Алгебраическое сложение/вычитание чисел в прямом коде


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


Пример:

С = А ± В, где:

А и В целые числа со знаком, представленные в прямом коде.

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

· проверка знака первого операнда; если первый операнд отрицательный, то формируют его представление в дополнительном или обратном коде,

· проверка знака второго операнд; если второй операнд отрицательный, то формируют его представление в дополнительном или обратном коде,

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

Эту цепочку действий можно модифицировать.

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

1. А + В = + (А + В)

2. А + (– В) = + (А – В)

3. (– А) + В = – (А – В)

4. (–А) + (–В) = – (А + В)

5. А – В = + (А – В)

6. А – (– В) = + (А + В)

7. (– А) – В = – (А + В)

8. (– А) – (– В) = – (А – В)

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

· сравнение знаков операндов. Если знаки операндов разные, то арифметическое действие заменяется обратным (вычитание – сложением, а сложение – вычитанием),

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



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

Для более наглядной и краткой записи алгоритмов можно использовать их запись в форме блок-схем блок-схемы.

Алгоритм алгебраического сложения/вычитания чисел в прямом коде можно записать в виде блок-схемы, представленной на рис. 5.1.

В блок схеме используются два типа блоков:

· Блоки выполнения действия над значениями исходных переменных с присваиванием результата новым переменным или одной из старых. Эти блоки изображаются в виде прямоугольных рамок с текстом, задающим эти действия;

· Блоки ветвлений с указаниями проверок условий ветвлений. Эти блоки изображаются в виде ромбических рамок с указаниями условий ветвлений (переходов).

Рис. 5.1. Блок схема алгоритма выполнения алгебраического сложения / вычитания чисел в прямом коде

T&/V

триггер кода операции/переполнения T&/v



<== предыдущая лекция | следующая лекция ==>
Десятичная арифметика | Схемы умножения целых чисел в прямом коде


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


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

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

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


 


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

 
 

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

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