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. 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żesz 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 ujrzysz 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 "prawdą". Jak nie wierzysz, 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ł 🏁.