Двоичная арифметика.
Сложение двоичных чисел.
То есть, сложение выполняется поразрядно, начиная с младшей цифры. Если при сложении двух цифр получается СУММА больше девяти, то записывается цифра=СУММА- 10, а ЦЕЛАЯ ЧАСТЬ (СУММА /10), добавляется в старшему разряду. Так и с двоичным числом. Складываем поразрядно, начиная с младшей цифры. Если получается больше 1, то записывается 0 и 1 добавляется к старшему разряду. Сумму можно описать логической таблицей (см. таблицу 2)
Таблица 2: | ||
+ | ||
Выполним пример: 10011 + 10001.
010011=19
010001=17
-------------
100100=36
Вычитание двух чисел.
Вычитание двух чисел заменяется сложением уменьшаемого и вычитаемого, представленного в дополнительном коде.
Разные интерпретации одного и того же двоичного числа.
Для примера возьмём число 0b10010101. Если это число рассматривать как беззнаковое целое, то оно равно 149. Если же это число определено как знаковое целое, то оно равно – 107.
Булева алгебра.
Булева алгебра логики - это алгебра, состоящая из нулей и единиц; или истины (TRUE)и лжи (False). В программировании булева алгебра логики встречается очень часто. Например, при создании различных управляющих структур (if , while , for ).
В булевой алгебре определены понятия логических операций, таких как «И». «ИЛИ», «НЕ» и т.д. К примеру, выражение «Стол имеет 4 ножки и стоит на полу» будет правдой, если выполняются оба условия, если же у стола отличное от 4-х количество ножек и/или он установлен не на пол, то выражение ложно. Т.е. если не выполнено одно из условий, то выражение ложно, если выполнены оба, то - правда. Если же в выражении «Стол имеет 4 ножки и стоит на полу» «И» заменить на «ИЛИ», то выражение станет ложью, только если стол одновременно не стоит на полу и у него не 4 ножки. Операция с использованием «И» называется конъюнкция, а с использованием «ИЛИ» - дизъюнкция. Рассмотрим их подробнее.
Конъюнкция
В программировании конъюнкция обозначается обычно как '&&' или как «AND», и читается как 'И'. Таблица истинности для конъюнкции представлена в таблице 3.
Таблица 3 | |||
В | |||
AND | FALSE | TRUE | |
А | FALSE | FALSE | FALSE |
TRUE | FALSE | TRUE |
Где А и В – выражения, принимающие значения правда или ложь (TRUE и FALSE соответственно).
Операция конъюнкции ещё называется операцией логического умножения. Это видно, если FALSE заменить на 0, а TRUE на 1. (см. таблицу 4).
Таблица 4 | |||
В | |||
AND | |||
А | |||
Дизъюнкция
В программировании дизъюнкция обозначается обычно как '||' или «OR», читается как 'ИЛИ'. Вот таблица истинности для дизъюнкции:
Таблица 4 | |||
В | |||
OR | FALSE | TRUE | |
А | FALSE | FALSE | TRUE |
TRUE | TRUE | TRUE |
Дизъюнкция также называется логическим сложением.
С тем условием, что 1 AND 1 = 1.
Таблица истинности для дизъюнкции в случае замены FALSE на 0, а TRUE на 1 представлена в таблице 5.
Таблица 5 | |||
В | |||
OR | |||
А | |||
Равносильность
Обозначается обычно как '==' (двойной знак равно) (см. таблицу 6). Вот его таблица истинности:
Таблица 6 | |||
В | |||
== | FALSE | TRUE | |
А | FALSE | TRUE | FALSE |
TRUE | FALSE | TRUE |
Если два значения равны, то условие верно, если не равны, то ложно.
Отрицание
Отрицание является унарной операцией, т.е. выполняется с одним операндом. Обозначается как знак '!'. Таблица истинности представлена в таблице 7:
Таблица 7 | |
А | А! |
FALSE | TRUE |
TRUE | FALSE |
Читается как 'НЕ'. Т.е. (!TRUE = FALSE)
Сложение по модулю 2
Последней важной функцией является сложение по модулю 2. Ещё эта функция называется «исключающее ИЛИ». Обычно эта операция обозначается как «^» или «XOR». Её таблица истинности представлена в таблице 8
Таблица 8 | |||
В | |||
XOR | FALSE | TRUE | |
А | FALSE | FALSE | TRUE |
TRUE | TRUE | FALSE |
Таблица истинности в которой FALSE заменено на 0, а TRUE на 1, представлена в табл 9.
Таблица 9 | |||
В | |||
XOR | |||
А | |||
А как и следует из названия, эта операция представляет собой сложение по модулю 2. Т.е. 1+1=2. Если взять по модулю 2 (остаток от деления на 2), то выражение 1+1=0.
Дата добавления: 2017-01-29; просмотров: 564;