Arduino bitvis operatører

Arduino bitvis operatører
Det er flere typer operatører som brukes i Arduino -programmering for å lage forskjellige forhold. Disse forholdene regulerer deretter strømmen av koden designet for å utføre en spesifikk oppgave. En av de viktigste typene operatører som brukes i Arduino -programmering er bitvis operatører, og i denne artikkelen blir bitvis operatører og deres typer forklart kort.

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:

  • OG
  • ELLER
  • IKKE
  • Xor
  • venstre shift
  • Høyre skift

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 (<) og for riktig skift er (>> c) her c er antall biter som tallet skal forskyves for eksempel, hvis vi skifter 12 to biter til venstre og skifter to biter til høyre, vil resultatet for venstre skift være 48 og for høyre skift vil være 3.

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.