Сравнителни операции

Извикват се и операции за сравнение операции по взаимоотношения(операции на връзката), тъй като те оценяват връзката (връзките) на два операнда. Подоперандразбира се върху какво се извършва операцията.

Таблица 6 списъци оператори, използва се за означаване на операции за сравнение в програмните езици. Резултатът от сравнението може да бъде True или False (True или False). Сравнителните операции имат по-нисък приоритет от аритметичните операции.

Примери за сравнителни оператори в различни програмни езици

по-малко или равно

Логически операции

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

Логическите операции понякога се наричат ​​булеви, защото са взети от булева алгебра. Техните операнди са булеви стойности и те също връщат булеви стойности. Таблица 7 изброява основните логически оператори, използвани в различни програмни езици, в низходящ ред на приоритет. Трябва да се отбележи, че в различните програмни езици логическите операции могат да имат различен приоритет по отношение на други операции - аритметика и сравнение. Например в BASIC приоритетът на логическите операции е по-нисък от операциите за сравнение. В Pascal е обратното и предимството на оператора not е дори по-високо от това на аритметичните операции.

Основни логически оператори

Име на логическа операция

логическо отрицание "НЕ" (инверсия)

логично "И" (съвпад)

логично "ИЛИ" (дизюнкция)

Най-простият логически оператор НЕ Е. Той предшества единичния операнд и връща логичната му противоположност - с други думи, той „отрича“ операнда. Например изразът НЕ Вярнодава като резултат Невярно (булева стойност обратна Вярно); и изразът НЕ (4 = 60 И S = 60 И S 100.

Правилата за извършване на операции в алгебрата на логиката се определят от редица аксиоми, теореми и последици. По-специално, за алгебрата на логиката важат следните закони:

1) комбинационен (асоциативност):

(a ИЛИ b) ИЛИ c = a ИЛИ (b ИЛИ c);

(а И b) И c = a И (b И c).

2) пътуване (комутативно):

a И b = b И a.

3) разпределителна (разпределителност на конюнкцията и дизюнкцията по отношение на дизюнкцията и конюнкцията):

a И (b ИЛИ c) = a И b ИЛИ a И c;

a ИЛИ b И c = (a ИЛИ b) И (a ИЛИ c).

Следните отношения също са валидни: НЕ НЕ a = a; a ИЛИ a И b = a; НЕ a ИЛИ НЕ b = НЕ (a И b) и т.н.

Логически операции могат да се извършват не само върху булеви стойности, но и върху битовете на операндите. В този случай логическата операция връща битов резултат, който е или true (1), или false (0). В езиците за програмиране може да има специални оператори за битово изпълнение на логически операции. Например в "C ++" и "Java" битовите (битови) операции NOT, AND, OR съответстват на операторите

, &, | (сравнете с операторите в таблица 7).

В BASIC се използват само битови логически операции и операндите са представени в осем-, шестнадесет- или тридесет и два кода за допълнение. В този случай булевите стойности НевярноиВярнотам съответстват десетични стойности 0 и -1, например 0 е число, при което всички битове са зададени на нула, а -1 е двоично число, всички битове от които са зададени на 1 (виж Таблица 3).

Операции изключително ИЛИ(неравно),еквивалентност(еквивалентност, ↔) ивнушение(ако тогава, →) в BASIC съответстват операторите XOR, EQV и IMP. Резултатът от логическа операция се определя бит по бит съгласно таблица 8. Операторите са изброени в низходящ ред на техния приоритет.