Hej!
Dzisiaj krótki wpis jako uzupełnienie do poprzedniego o zmiennych.
Poznamy resztę operatorów :)
Zaczynajmy!
Operatory relacyjne
Jak nazwa wskazuje, dzięki tym operatorom będziemy mogli porównywać.
Tabelka:
Operatory logiczne
Operatory bitowe
Umożliwiają nam wykonywanie operacji na bitach. Takie operacje są baaaardzo szybkie, bo korzystamy w końcu z zer i jedynek, czyli z tego co komputery lubią najbardziej. Na samym początku jednak:
- Zamiana liczby w systemie dziesiątkowym na liczbę w systemie binarnym
Najprościej mówiąc: dzielimy liczbę przez dwa i zapisujemy resztę z dzielenia, do momentu gdy nie będziemy już mogli tego zrobić (dzielenie przez 0).
Tabelka:
Zamiana za nami, pora na operatory:
Koniunkcja
Alternatywa
Alternatywa wykluczająca
Negacja
Coooo? Dlaczego -7?! Przecież 1001 to 9 w systemie dziesiątkowym!
Już tłumaczę. Przyda mi się do tego kalkulator programisty (znajdziecie go u siebie, jeśli macie Windowsa, chociaż z tego, co pamiętam Linux w swoim podstawowym kalkulatorze też ma takie bajerki). Wpiszmy tam naszą liczbę, czyli 6 w systemie binarnym.
Okej. Klikam przycisk który zaznaczyłem na czerwono:
To, co teraz widzę to pojedyncze bity na któych jest zapisywana liczba. Skoro przy negacji 0 zamieniane jest na 1, to teoretycznie oznacza, że wszystkie zera które widzimy na załączonym obrazku staną się po negacji jedynkami. Sprawdźmy to.
Działa tak jak przypuszczaliśmy. A za minus odpowiedzialny jest ostatni bit (zaznaczony na obrazku powyżej). Jedynka odpowiada za wartość ujemną, a 0 za wartość dodatnią. Przechodzimy do następnego operatora.
- Przesunięcie bitowe
Załóżmy, że mamy liczbę 4. Zamieniamy ją na liczbę w systemie binarnym. Nasz wynik to 0100.
Operator przesunięcia bitowego to ">>" lub "<<" (w zależności od tego, w którą stronę przesuwamy), a korzystamy z niego np. tak:
Console.WriteLine(4>>1); //Otrzymany wynik to 2.
Console.WriteLine(4<<1); //Otrzymany wynik to 8.
Co się teraz dzieje? Po lewej stronie operatora mamy liczbę na której chcemy wykonać nasze przesunięcie bitowe, a liczba po prawej stronie mówi nam, o ile miejsc się przesuniemy.
Przesunięcie bitowe liczby 4 o 1 miejsce w prawo wygląda tak: 0100 ->(1 miejsce w prawo)-> 0010.
Przesunięcie bitowe liczby 4 o 1 miejsce w lewo to: 0100 ->(1 miejsce w lewo)->1000.
Jak pewnie zdążyłeś zauważyć, przesunięcie jest odpowiednikiem dzielenia lub mnożenia przez 2. Bardzo szybkim odpowiednikiem.
Zakończenie
Huh. Wyszło tego trochę :D. Następny post będzie o pętlach, tymczasem zachęcam do obserwowania, zostawienia komentarza i upvote'a, jeśli uważasz, że na to zasłużyłem :D. Poniżej standardowo linki do wcześniejszych postów z tej serii. Trzymajcie się cieplutko, hej :D.
Poprzednie posty z tej serii:
#1 Piszemy pierwszy program
#2 Zmienne