Машинные коды чисел

Автор работы: Пользователь скрыл имя, 26 Ноября 2014 в 14:53, контрольная работа

Краткое описание

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

Прикрепленные файлы: 1 файл

Mashinnye_kody_idrNeprochit_lektsii.doc

— 2.83 Мб (Скачать документ)

Машинные коды чисел.

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

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

Пример.

+2910 = 001111012   -2910 = 10111101

+12710 = 011111112   -12710 = 111111112

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

Сущность этих кодов заключается в том, что вычитаемое число Х, как отрицательное число, представляется в виде дополнения до некоторой константы С, такого, что С – Х >0. Обратный и дополнительный коды отличаются выбором этой константы.

Для дополнительного кода отрицательное число Z представим как

Z = -Х = (10n –Х) - 10n,

где Z <0, Х>0, n – величина разрядной сетки, а 10n –Х – дополнительный код числа.

Для обратного кода отрицательное число Z представим как

Z = -Х = (10n – 1 - Х) - 10n +1,

где Z <0, Х>0, n – величина разрядной сетки, а 10n – 1 - Х – обратный код числа.

 

Пример.

Для положительного числа прямой, обратный и дополнительный коды будут одинаковыми. Для числа +31→Ап =Ао =Ад =0000 0000 0001 11112.

Для числа -31→ Ап =1000 0000 0001 11112.

Для построения дополнительного кода выбираем константу 1015= 1000 0000 0000 0000 и получаем Ад =1111 1111 1110 00012.

 

Общие правила образования двоичных машинных кодов:

-положительное число в прямом, обратном и дополнительном кодах  одинаково;

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

-обратный код отрицательного  числа получается из прямого  кода путем инверсии, т.е. замены 1 на 0 и всех 0 на 1, кроме знакового разряда;

-дополнительный код получается  из обратного прибавлением 1 к  младшему разряду (перенос 1 в знаковый  разряд не учитывается);

-дополнительный код отрицательного  числа получается из прямого  кода заменой всех 1 на 0 и всех 0 на 1, кроме 1 самого младшего разряда и следующих за ней 0.

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

 

Сложение двоичных чисел.

Сложение двоичных чисел осуществляется в соответствии с таблицей сложения

 

a

b

= a+b

Перенос С1

0

0

0

 

1

0

1

 

0

1

1

 

1

1

0

1


 

Пример.

101 + 10 = 111. Проверка 5+2 = 7

1010 + 11 = 1101. Проверка 10+3 = 13

11010 + 1100 = 100110. Проверка 26+12 = 38.

Пример.

Заданы два десятичных числа А = 126 и В = 267. Найти сумму этих чисел при разных знаках.

А = 12610 = 7Е16 = 111 11102  В = 26710 =10В16 = 1 0000 10112.

В естественной форме и формате Н (16бит) прямой и дополнительный коды этих чисел имеют вид:

Ап = 0.00 0000 0111 1110   Вп = 0.000 0001 0000 1011

-Ад = 1.111 1111 1000 0010   -Вд = 1.111 1110 1111 0101

А+В = Ап + Вп = 0.000 0000 0111 1110

  0.000 0001 0000 1011

  0.000 0001 1000 1001

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

Найти дополнительный код двоичного числа Ап = 010 110 110 101 (= 101 001 001 011). Проверить, что å= Ап +Ад =1.

А-В = Ап + (-Вд) = 0.000 0000 0111 1110

  1.111 1110 1111 0101

  1.111 1111 0111 0011

Проверка:

А+В = 39310 = 18916 = 0.000 0001 1000 1001

А-В = -14110= -8D16 = 1.111 1111 0111 00112.

 

Пример.

7-3 = 4      12-5 = 7

0111 710      1100 1210

0011 310      0101 

1100  Обратный код числа 3   1010

+1101 Дополнительный код числа 3 +1011

0100 410      10111  710

 

Умножение двоичных чисел.

При выполнении двоичного умножения частичное произведение сдвигается на один разряд влево при обработке каждого следующего разряда множителя.

 

Пример.

5×3 =15  55 =25   5×10 = 50

101   101    101

11   101           1010

101     101    000

101    000            101

1111   101          000

11001        101 

   110010

 

Деление двоичных чисел.

Операция двоичного деления выполняется методом, который  применяется в десятичной системе.

14:4 = 3,5 11,12

1110,0  1410

100  410

110

100

100

 100

0

 

Основы математической логики.

Необходимость изучения основ математической логики вызывается тем, что она является составной частью теории проектирования ЭВМ и системного анализа объектов или процессов. Функционирование различных компонентов вычислительных машин может быть описано с помощью логических функций и законов математической логики. Кроме того, современные языки программирования включают в себя встроенные логические функции.

Алгебра логики – это раздел математической логики, значения всех элементов (функций и аргументов) которой определены в двухэлементном множестве: 0 и 1. Алгебра логики оперирует с логическими высказываниями.

Высказывание – это любое предложение, в отношении которого имеет смысл утверждение о его истинности или ложности. При этом считается, что высказывание удовлетворяет закону исключенного третьего, т.е. каждое высказывание или истинно, или ложно и не может быть одновременно и истинным и ложным.

В алгебре логики все высказывания обозначаются буквами a, b, c, d и т.д. В дальнейшем над ними можно производить любые действия, предусмотренные данной алгеброй. Причем если над исходными элементами алгебры выполнены некоторые разрешенные в алгебре логики операции, то результаты операций также будут элементами этой алгебры.

Математическая логика – это наука о методах рассуждений, при которых человек отвлекается от содержания рассуждений, а использует только их форму и значение.

  1. Логические переменные 0 (ложь) и 1 (истина).
  2. Функции, которые определены на этих переменных и принимают значения 0 или 1 также называются логическими.

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

  • логическое сложение или дизъюнкция ( + или  );
  • логическое умножение или конъюнкция ( • или Ù, & );
  • отрицание .

 

Основные и дополнительные законы алгебры логики.

  1. Закон идемпотентности (одинаковости)

а+а=а

а•а=а

  1. Закон коммутативности

а+в=в+а

а•в=в•а

  1. Закон ассоциативности

а+(в+с)=(а+в)+с

а•(в•с)=(а•в) •с

  1. Законы дистрибутивности

а•(в+с)=а•в+а•с

а+в•с=(а+в)•(а+с)

  1. Закон двойного отрицания

  1. Законы де Моргана

  1. Законы поглощения

а+а•в=а

а•(а+)=а

  1. Законы для логических констант

а+0=а, а+1=1, а•0=0, а•1=а

=1, +а=1, =0, •а=0.

  1. Законы склеивания

а•в+ •в=в

(а+в)•( +в)=в

  1. Закон Блейка-Порецкого

а+ •в=а+в

  1. Закон свертки логического выражения

а•в+ •с+в•с= а•в+ •с

 

 

Логические функции.

В математической логике используются только логические переменные, которые принимают значения 0 («ложь») и 1 (истина).

Функции, которые используют логические переменные, называются логическими. Значения любой логической функции могут принимать значения только 0 и 1. Количество различных наборов, которые могут быть образованы N переменными равно 2. Следовательно, количество различных функций от N переменных будет равно . И так как количество логических переменных равно 2 (0 или1), то количество функций равно 16. Основными логическими функциями являются:

    • логическое сложение или дизъюнкция ( + или Ú );
    • логическое умножение или конъюнкция ( • или Ù, & );
    • отрицание .
    • импликация или функция следования: левая ® и правая ¬;
    • сложение по модулю 2 ( );
    • функция Шеффера (½);
    • стрелка Пирса (¯);
    • единичная функция 1;
    • нулевая функция 0;
    • функция сохранения переменной а.

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

Логическое сложение а+b или дизъюнкция а Ú b. Дизъюнкция двух слагаемых ложна тогда и только тогда, когда ложны оба слагаемых. Таблица истинности имеет вид

 

а             b

a+b

0             0

0

0             1

1

1             0

1

1             1

1


 

Логическое умножение a•b или конъюнкция a Ù b. Конъюнкция двух сомножителей истинна тогда и только тогда, когда истинны оба сомножителя. Таблица истинности имеет вид

 

а             b

a•b

0             0

0

0             1

0

1             0

0

1             1

1


 

Отрицание - инверсия. Запись читается как «не а». Отрицание лжи есть истина, отрицание истины есть ложь.

 

Таблица истинности имеет вид

 

а

0

1

1

0


 

Импликация или функция следования. Запись a ® b читается как a импликация b или из a следует b. Запись a ¬ b читается как b импликация a или из b следует a. Для функции импликации из лжи следует все, что угодно, а из истины только истина. Таблица истинности левой импликации имеет вид

а             b

a ® b

0             0

1

0             1

1

1             0

0

1             1

1


Выражение для импликации можно записать в виде a ® b = + b.

 

Таблица истинности правой импликации имеет вид

а             b

a ¬ b

0             0

1

0             1

0

1             0

1

1             1

1


Выражение для импликации можно записать в виде a ¬ b = a + .

 

Сложение по модулю 2.

Запись читается как a плюс по модулю 2 b. Функция сложения по модулю 2 истинна тогда и только тогда, когда значения переменных различны.

Информация о работе Машинные коды чисел