Bitvis operatører
De bitvise operatørene brukes til å anvende de boolske operatørene på desimalene ved å konvertere dem til binæren, og deretter brukte disse operatørene bit etter bit på binæret i dette tallet. For illustrasjonsformål er to desimaler 12 og 13 tatt hvis begge tallene blir konvertert i binære verdiene blir (1100) og (1101).
Det er i utgangspunktet seks bitvise operatører som er brukt som er:
Bitvis og operatør
Den første bitvis operatøren er den og operatøren som gir utgangen bare når begge inngangene er en eller sann. Tegnet for bruk av bitvis er “Og”. For videre forståelse og operasjon brukes på de binære verdiene på henholdsvis 12 og 13. Operasjonen gjelder bit etter binærene til tallene som første bit av 12 som er 1 går og med den første biten på 13 som også er en, så resultatet av operasjonen er en og så videre, så resultatet av dette og operasjonen IS (1100) som er 12 hvis vi konverterer det til desimal.
Desimal | 12 | 1. 3 |
Binær | 1100 | 1101 |
Operatør | (12 og 13) | |
Resultat | (1100) | |
Binær til desimal | 12 |
Bitvis eller operatør
Den andre operatøren som er eller når den brukes på de binære tallene, gir en som en utgang når bare en av inngangene er 1, så vi kan si at utgangen til OR -operasjonen bare vil være null når begge inngangene er null. Skiltet som brukes til OR -operatøren er “|”. For ytterligere å forstå driften av eller vi kan bruke denne eller operatøren på binærene 12 og 13.
OR -operatøren gjelder bit for bit på binærene på 12 og 13 som den første biten på 13 er 1 og den første biten på 12 er også en, så utgangen vil også være en av operasjonen på resten av biten vil være den samme. Resultatet er (1101) som deretter konverteres til desimal som er 13
Desimal | 12 | 1. 3 |
Binær | 1100 | 1101 |
Operatør | (12 | 13) | |
Resultat | (1101) | |
Binær til desimal | 1. 3 |
Bitvis ikke operatør
Den ikke -operatøren, i motsetning til de andre operatørene, har bare en inngang og utgang, og den inverterer inngangen. Skiltet som brukes til å representere den ikke -operatøren er "~”. Her vil vi bruke den binære av en desimal. For eksempel, hvis vi tar det binære av de 13 som er (1101) etter operatørens drift, eller den vil komme (0010) som er 2 i desimaler.
Desimal | 1. 3 |
Binær | 1101 |
Operatør | (~ 13) |
Resultat | (0010) |
Binær til desimal | 2 |
Bitvis XOR -operatør
Denne bitvise operatøren kalles eksklusiv, eller den eneste forskjellen er at den har med den ordinære eller operasjonen er at utgangen vil være null når begge inngangene er en. Å representere eller bruke denne operasjonen i Arduino -programmering av tegnet som brukes er “^”. Hvis denne operasjonen blir brukt for tallene 12 og 13, hvis binærfiler er (1100) og (1101), er resultatet av bit klok XOR -operasjon (0001) og desimalen til denne binære er 1.
Desimal | 12 | 1. 3 |
Binær | 1100 | 1101 |
Operatør | (12 ^ 13) | |
Resultat | (0001) | |
Binær til desimal | 1 |
Bitvis venstre skift og høyre skift
Skiftende bitene til en binær av et tall kan gjøres ved hjelp av skiftoperatøren; Skiftoperatøren er videre delt i to typer avhengig av hvilken side skiftet må gjøres. For å ha et skifte på høyre side formelen som brukes til dette er (a/(2^b)).
Tilsvarende, for å gjøre et skifte til venstre formelen som brukes er (a*(2^b)). Her en er nummeret som skiftet skal brukes på ,2 er antall biter og b er antall bitskift gitt til nummeret. Representasjonen av venstre skift er (<
Desimal | 12 | 12 |
Binær | 1100 | 1100 |
Operatør | 12 <<2 | 12 >> 2 |
Resultat | 110000 | 11 |
Binær til desimal | 48 | 3 |
Arduino -programmet for alle de litt kloke operatørene er samlet for å gi et klart bilde av funksjonaliteten til disse operatørene:
int a = 12;
int b = 13;
int c; // for lagring av resultatet
void setup () // Sett oppsettkoden din her, for å kjøre en gang:
Serie.Begynn (9600); // Initialisere seriell kommunikasjon
Serie.print ("og:");
c = a & b;
Serie.println (c);
Serie.print ("eller:");
c = a | b;
Serie.println (c);
Serie.print ("xor:");
c = a^b;
Serie.println (c);
Serie.print ("ikke:");
c = ~ a;
Serie.println (c);
Serie.trykk ("venstre skift:");
C = 12<<2;
Serie.println (c);
Serie.print ("Right Shift:");
C = 12 >> 2;
Serie.println (c);
void loop ()
// legg hovedkoden din her, for å kjøre gjentatte ganger:
Produksjon
Konklusjon
For å bruke logisk drift på to tall bit etter bit de bitvise operatørene brukes, og disse operatørene hjelper til med å gjøre tilstanden som brukes til å utføre en spesifikk oppgave. Denne oppskrivningen forklarer kort hver type bitvis operatør med eksempler og for å gi et klart konsept av disse operatørene og en enkel Arduino-kode er også gitt.