Jason. Cała informatyka w jednym miejscu!

Negacja kolejną częścią mini ciągu o operacjach logicznych. Zapraszam serdecznie po dawkę wiedzy na temat operatora "NOT".

OPERATOR "NIE" TO NIC INNEGO JAK NEGACJA!

"Nie" albo "NOT", w zależności od własnego upodobania. Operator negacji powoduje "przestawienie" wartości wyjściowej na bit przeciwny. Czyli zero staje się jedynką, jedynka staje się zerem. To jest proste! Czasami używa się pełnej nazwy "negacja logiczna". Tabelka w ruch:

a !a
0 1
1 0

To jest operator unarny. Pisząc bardziej zrozumiale, operator jednoargumentowy w przeciwieństwie do alternatywy i koniunkcji. Jak widać powyżej, wystarczy jeden operand żeby negacja odniosła pożądany skutek. Wolno go wstawić także przed zdaniami logicznymi objętymi w nawiasy wykorzystującymi np. koniunkcję:

!(a && b)

Jak możecie dostrzec, w kodzie źródłowym negację określa się wykrzyknikiem (!). Matematyka posługuje się zupełnie innym symbolem (¬), którego nawet nie umiem skojarzyć z czymś znanym ;). Zamiennie używa się tyldy (~).

Teraz posłużymy się kodem. Język C w standardzie C99, bo to w końcu jest materiał ogólnie o programowaniu, a C jest "ojcem" języków wysokiego poziomu:

_Bool a = 0;

printf("%d", !a);

Na wyjściu ujrzycie jedynkę, bo negacja odwraca bit na przeciwny. Przypominam tak skromnie, że nieprawdą jest, że "prawda" to tylko wartość 1. Język C domyślnie odwraca na jedynkę, lecz w rzeczywistości wartość zero jest traktowana jak fałsz, a KAŻDA INNA wartość różna od zera jest traktowana jak prawda. Serio! Jak nie wierzycie, zapraszam do artykułu o "booleanach" w C. Opadnięcie kopary do samej ziemi gwarantowane ;)!


Tak nietypowym stwierdzeniem jak na stronę o nauce informatyki, kończę dzisiejszy materiał.

PODOBNE ARTYKUŁY