Operacje logiczne w języku programowania C#

Operacje logiczne C#

Podczas programowania nieustannie pojawia się konieczność logicznego sprawdzania wartości zmiennych. Operacje logiczne mają bardzo różnorodne zastosowania, pozwala np. na kontrolowanie występujących zdarzeń, sprawdzanie dostępności funkcji, czy też zarządzanie zalogowanymi osobami w serwisie.

 

 

Język C# udostępnia wymienione poniżej operatory logiczne:

AND (iloczyn logiczny)x & y
XOR (suma modulo 2)x ^ y
OR (suma logiczna)x | y
NOT (negacja)!
Warunkowy ANDx && y
Warunkowy ORx || y

 

operacje logiczne

Operator & – AND

Jednoargumentowy operator realizujący operację iloczynu logicznego. Sprawdza dwie podane wartości i zwraca wartość true tylko w przypadku gdy obie mają także wartość true.

 

Operator & podczas wykonywania porównania sprawdza oba argumenty, przez co kod podany poniżej wywoła zarówno funkcję WykonajFunkcje1() jak i WykonajFunkcje2().

 

Operator może służyć także do wykonywania sumy logicznej na liczbach. Wykonywanie takiej operacji przedstawia poniższy przykład:

 

Operator ^ – XOR

Operator realizuje operację sumy modulo 2 i zwraca wartość true tylko w sytuacji gdy sprawdza dwie różne wartości: jedna będąca true, a druga false. W przypadku dwóch wartości true lub dwóch wartości false zwraca false.

 

Operacja XOR może być wykonywana także na liczbach. W takim przypadku wynik obliczany jest przez sumę modulo 2 z każdej pary bitów danych liczb. Sposób wyliczania zaprezentowano poniżej:

 

Operator | – OR

Operator realizuję operację sumy logicznej co oznacza, że wystarczy by jeden z elementów posiadał wartość true by wynik operacji także miał wartość true. Sprawdzane są obie wartości, więc tak jak przy operatorze & gdy będą nimi funkcje, to obie zostaną wywołane.

 

Operator realizuję sumę logiczną także na bitach liczb podanych jako wartości:

 

Operator ! – NOT

Operator jest zdefiniowany dla typu bool i realizuje negacje. W przypadku wystąpienia wartości true zwróci false i odwrotnie.

 

Operator && – warunkowy AND

Operator warunkowy AND realizuje taką samą operację jak operator & dodając do niej pewne założenie. Iloczyn logiczny jest prawdą tylko jeśli oba elementy są prawdziwe, a więc wystarczy by jeden z nich miał wartość false i całe wyrażenie będzie false. Taką zależność wykorzystuje warunkowy AND. Podczas sprawdzania, gdy pierwszy element jest false to drugi nie jest sprawdzany i zostaje zwrócona wartość false. Realizacja iloczynu logicznego w taki sposób może znacznie przyspieszyć wykonywanie operacji. Rozważmy to w poniższym przykładzie:

 

Znajomość różnicy pomiędzy operatorami & oraz && jest istotna, gdy wartościami podawanymi do iloczynu są funkcje. W Przypadku operatora && nigdy nie można zakładać, że wszystkie funkcje zostaną uruchomione, ponieważ praca operacja zostanie zakończona przy pierwszej napotkanej wartości false.

 

Operator || – warunkowy OR

Podobnie jak w operatorze opisanym powyżej wykorzystana jest tu pewna właściwość sumy logicznej. Wystarczy, że jeden z elementów będzie miał wartość true by całe wyrażenie także było true. W związku z tym pierwsza napotkana wartość true powoduje zatrzymanie sprawdzania pozostałych warunków i uruchamiany jest kod pod warunkiem.

Tak jak i w operatorze && nie można zakładać, że wszystkie sprawdzane funkcje zostaną uruchomione, ponieważ po pierwszej, która zwróci true sprawdzanie się zakończy.

 

Kolejność wykonywania operacji logicznych

Kolejność wykonywania operacji jest ściśle określona i przedstawiona poniżej od operacji wykonywanych najwcześniej:

1. Negacja
2. XOR
3. Iloczyn logiczny
4. suma logiczna

 

Loading Facebook Comments ...

Dodaj komentarz

Or