Operatorzy bitowate
Operatorzy bitowców są używane do nakładania operatorów logicznych na dziesiętne, przekształcając je w binarne, a następnie operatorzy zastosowali po kroku po binarie tej liczby. Do celów ilustracyjnych pobrane są dwa dziesiętne 12 i 13, jeśli obie liczby zostaną przekonwertowane w binarnych wartości odpowiednio (1100) i (1101).
Zasadniczo używanych jest sześciu operatorów bitowców, które są:
Bitwise i operator
Pierwszym operatorem bitowatym jest operator, który daje wyjście tylko wtedy, gdy oba wejścia są jedno lub prawdziwe. Znak do używania Bitwise to „I". W celu dalszego zrozumienia i działalności stosuje się na wartości binarnych odpowiednio 12 i 13. Operacja stosuje się stopniowo do plików binarnych liczb, takich jak pierwszy bit 12, który jest 1, a przy pierwszym bicie 13, który jest również jednym, więc wynik operacji jest jeden i tak dalej jest (1100), czyli 12, jeśli przekonwertujemy go w dziesiętne.
Dziesiętny | 12 | 13 |
Dwójkowy | 1100 | 1101 |
Operator | (12 i 13) | |
Wynik | (1100) | |
Od binarny do dziesiętnego | 12 |
Bitwise lub operator
Drugi operator, który jest lub po zastosowaniu na liczbach binarnych, podaje jeden jako wyjście, gdy tylko jeden z wejść to 1, więc możemy powiedzieć, że wyjście operacji OR będzie wynosić zero tylko wtedy, gdy oba wejścia wynoszą zero. Znak używany dla operatora lub jest „|". Aby dalej zrozumieć działanie lub możemy zastosować to lub operator na binezach 12 i 13.
OR OR operator stosuje odkąd po plikach binarnych 12 i 13, podobnie jak pierwszy bit 13 to 1, a pierwszy bit 12 jest również jednym, więc wyjście będzie również jedną operacją na reszcie bitu będzie taka sama. Rezultatem jest (1101), który jest następnie konwertowany na dziesiętne, które wynosi 13
Dziesiętny | 12 | 13 |
Dwójkowy | 1100 | 1101 |
Operator | (12 | 13) | |
Wynik | (1101) | |
Od binarny do dziesiętnego | 13 |
Bitwise, a nie operator
Nie operator, w przeciwieństwie do innych operatorów, ma tylko jedno wejście i wyjście i odwraca wejście. Znak używany do reprezentowania operatora nie jest „~". Tutaj użyjemy binarnego jednej dziesiętnej. Na przykład, jeśli weźmiemy binarny z 13, który (1101) po operacji operatora lub nadejdzie (0010), który ma 2 w dziesięciu dziesiętnych.
Dziesiętny | 13 |
Dwójkowy | 1101 |
Operator | (~ 13) |
Wynik | (0010) |
Od binarny do dziesiętnego | 2 |
Bitwise Xor Operator
Ten operator bitowate nazywa się wyłącznością lub jedyną różnicą jest to, że ma on zwykłą lub operację, jest to, że jego wyjście wyniesie zero, gdy oba wejścia są jednym. Reprezentowanie lub użycie tej operacji w programowaniu Arduino używany znak to „^". Jeśli ta operacja zostanie zastosowana dla liczb 12 i 13, których pliki binarne to (1100) i (1101) wynik bit mądry XOR wynosi (0001), a dziesiętne tego binarnego wynosi 1.
Dziesiętny | 12 | 13 |
Dwójkowy | 1100 | 1101 |
Operator | (12 ^ 13) | |
Wynik | (0001) | |
Od binarny do dziesiętnego | 1 |
Bitwise lewa przesunięcie i przesunięcie prawe
Przesunięcie bitów binarnego liczby można wykonać za pomocą operatora zmiany; Operator zmiany biegów jest dalej podzielony na dwa typy, w zależności od strony, należy wykonać przesunięcie. Aby mieć przesunięcie po prawej stronie, formuła użyta do tego (a/(2^b)).
Podobnie, aby dokonać zmiany po lewej, zastosowana formuła jest (a*(2^b)). Tutaj A to liczba, na której ma zastosowanie zmiana ,2 to liczba bitów, a B to liczba zmian bitów podanych do liczby. Reprezentacja lewego przesunięcia jest (<
Dziesiętny | 12 | 12 |
Dwójkowy | 1100 | 1100 |
Operator | 12 <<2 | 12 >> 2 |
Wynik | 110000 | 11 |
Od binarny do dziesiętnego | 48 | 3 |
Program Arduino dla wszystkich bitowych operatorów jest opracowany, aby dać jasny obraz funkcjonalności tych operatorów:
int a = 12;
int b = 13;
int c; // do przechowywania wyniku
void setup () // Umieść kod konfiguracji tutaj, aby uruchomić raz:
Seryjny.Rozpocznij (9600); // inicjalizacja komunikacji szeregowej
Seryjny.drukuj („i:”);
c = a & b;
Seryjny.println (c);
Seryjny.drukuj („lub:”);
C = A | B;
Seryjny.println (c);
Seryjny.print („xor:”);
c = a^b;
Seryjny.println (c);
Seryjny.print („nie”);
c = ~ a;
Seryjny.println (c);
Seryjny.print („lewa zmiana:”);
C = 12<<2;
Seryjny.println (c);
Seryjny.print („PRAWA SHIFT:”);
c = 12 >> 2;
Seryjny.println (c);
void Loop ()
// Umieść swój główny kod tutaj, aby działać wielokrotnie:
Wyjście
Wniosek
Aby zastosować działanie logiczne na dwóch liczbach, używane są operatorzy bitowców, a operatorzy ci pomagają w tworzeniu warunku używanego do wykonania określonego zadania. Ten zapis krótko wyjaśnia każdy typ operatora bitowców z przykładami i podaje jasną koncepcję tych operatorów i podano również prosty kod Arduino.