Приветствую всех, сегодня поговорим о логических операторах и побитовых операциях.
Дизъюнкция — (лат. disjunctio — разобщение) логическая операция, по своему применению максимально приближённая к союзу «или» в смысле «или то, или это, или оба сразу».
Таблица истинности для операции дизъюнкции двух логических выражений:
1 2 3 4 |
true || true = true true || false = true false || false = false false || true = true |
Побитовое ИЛИ — это бинарная операция, действие которой эквивалентно применению логического ИЛИ к каждой паре битов, которые стоят на одинаковых позициях в двоичных представлениях операндов.
Таблица истинности для операции побитового «ИЛИ» (дизъюнкции) значений
1 2 3 4 5 6 7 8 9 10 11 12 |
1 | 1 = 1 0 | 0 = 0 1 | 0 = 1 0 | 1 = 1 //Пример result = 2 | 1 = 3 0 0 0 0 0 0 1 0 //2 | 0 0 0 0 0 0 0 1 //1 = 0 0 0 0 0 0 1 1 //3 |
Исключающее ИЛИ (логическое сложение, строгая дизъюнкция) — булева функция и логическая операция. Результат выполнения операции является истинным только при условии, если является истинным в точности один из аргументов.
Таблица истинности для операции дизъюнкции двух логических выражений:
1 2 3 4 |
true ^ true = false true ^ false = true false ^ false = false false ^ true = true |
Побитовое исключающее ИЛИ — это бинарная операция, действие которой эквивалентно применению логического исключающего ИЛИ к каждой паре битов, которые стоят на одинаковых позициях в двоичных представлениях операндов.
Таблица истинности для операции побитового «Исключающего ИЛИ» значений
1 2 3 4 5 6 7 8 9 10 11 12 |
1 ^ 1 = 0 0 ^ 0 = 0 1 ^ 0 = 1 0 ^ 1 = 1 //Пример result = 3 ^ 1 = 2 0 0 0 0 0 0 1 1 //3 ^ 0 0 0 0 0 0 0 1 //1 = 0 0 0 0 0 0 1 0 //2 |
Отрицание в логике — унарная операция над суждениями, результатом которой является суждение (в известном смысле) «противоположное» исходному.
Таблица истинности для операции отрицания логического выражения:
1 2 |
!false = true !true = false |
Отрицанием истины является ложь, а отрицанием лжи – истина.
Побитовое отрицание (НЕ) — это унарная операция, действие которой эквивалентно применению логического отрицания к каждому биту, в двоичном представлении операнда.
Таблица истинности для операции побитового «Отрицания НЕ» значений
1 2 3 4 5 6 7 8 9 10 |
~ 0 = 1 ~ 1 = 0 //Пример ~1 = -2 ~ 0 0 0 0 0 0 0 1 //1 = 1 1 1 1 1 1 1 0 //-2 |
Чтобы изменить знак числа, необходимо выполнить его отрицание, и полученный результат увеличить на 1.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
//Формула изменения знака числа ~ ( +N ) + 1 = -N ~ ( -N ) + 1 = +N ~1 = -2+1=-1 ~ 0 0 0 0 0 0 0 1 //1 = 1 1 1 1 1 1 1 0 //-2 + 0 0 0 0 0 0 0 1 //1 = 1 1 1 1 1 1 1 1 //-1 |
Логические сдвиги числа.
При логическом сдвиге значение последнего бита по направлению сдвига теряется ( копируясь в бит переноса), а первый приобретает нулевое значение.
При логическом сдвиге значение последнего бита по направлению сдвига теряется ( копируясь в бит переноса), а первый приобретает нулевое значение.