Operatori di Arduino Bitwise

Operatori di Arduino Bitwise
Esistono più tipi di operatori utilizzati nella programmazione Arduino per fare condizioni diverse. Queste condizioni regolano quindi il flusso del codice progettato per eseguire un'attività specifica. Uno dei tipi più importanti di operatori utilizzati nella programmazione Arduino sono gli operatori bitu.

Operatori bitwise

Gli operatori bitwise vengono utilizzati per applicare gli operatori booleani sui decimali convertendoli in binario e quindi questi operatori si sono applicati a poco a poco al binario di quel numero. A fini illustrativi vengono presi due decimali 12 e 13 se entrambi i numeri sono convertiti in binario, i valori diventano (1100) e (1101) rispettivamente.

Fondamentalmente ci sono sei operatori bitwise usati che sono:

  • E
  • O
  • NON
  • Xor
  • tasto maiuscolo di sinistra
  • Shift destro

Bitwise e operatore

Il primo operatore bitwise è l'operatore e che fornisce l'output solo quando entrambi gli ingressi sono uno o vero. Il segno per l'uso di bitwise è "E". Per ulteriori comprensione e il funzionamento viene applicato sui valori binari rispettivamente di 12 e 13. L'operazione si applica a poco a poco ai binari dei numeri come il primo bit di 12 che è 1 va e con il primo bit di 13 che è anche uno, quindi il risultato dell'operazione è uno e così via, quindi il risultato e il funzionamento è (1100) che è 12 se lo convertiamo in decimale.

Decimale 12 13
Binario 1100 1101
Operatore (12 e 13)
Risultato (1100)
Binario a decimale 12

Bitwise o operatore

Il secondo operatore che è o quando applicato sui numeri binari fornisce uno come output quando solo uno degli ingressi è 1, quindi possiamo dire che l'output dell'operazione o sarà zero solo quando entrambi gli ingressi sono zero. Il segno utilizzato per l'operatore è "|". Per comprendere ulteriormente il funzionamento o possiamo applicare questo o l'operatore sui binari di 12 e 13.

L'operatore OR si applica un po 'a poco ai binari di 12 e 13 come il primo bit di 13 è 1 e il primo bit di 12 è anche uno, quindi l'output sarà anche uno che l'operazione sul resto del bit sarà la stessa. Il risultato è (1101) che viene quindi convertito in decimale che è 13

Decimale 12 13
Binario 1100 1101
Operatore (12 | 13)
Risultato (1101)
Binario a decimale 13

Bitway non operatore

L'operatore NOT, a differenza degli altri operatori, ha solo un input e output e inverte l'ingresso. Il segno utilizzato per rappresentare l'operatore non è "~". Qui useremo il binario di un decimale. Ad esempio, se prendiamo il binario del 13 che è (1101) dopo il funzionamento dell'operatore o arriverà (0010) che è 2 in decimali.

Decimale 13
Binario 1101
Operatore (~ 13)
Risultato (0010)
Binario a decimale 2

Operatore XOR BITWise

Questo operatore bitwise è chiamato esclusivo o l'unica differenza è che ha con l'ordine o l'operazione è che la sua uscita sarà zero quando entrambi gli ingressi sono uno. Per rappresentare o utilizzare questa operazione nella programmazione Arduino il segno utilizzato è "^". Se questa operazione viene applicata per i numeri 12 e 13 i cui binari sono (1100) e (1101) il risultato dell'operazione XOR Bit Wise è (0001) e il decimale di questo binario è 1.

Decimale 12 13
Binario 1100 1101
Operatore (12 ^ 13)
Risultato (0001)
Binario a decimale 1

Shift a sinistra bitwise e turno a destra

Il cambio dei bit di un binario di un numero può essere fatto usando l'operatore di cambio; L'operatore del cambio è ulteriormente diviso in due tipi a seconda di quale lato deve essere fatto il turno. Per avere uno spostamento sul lato destro la formula utilizzata per questo è (a/(2^b)).

Allo stesso modo, per fare uno spostamento a sinistra la formula utilizzata è (a*(2^b)). Qui UN è il numero su cui si applica il turno ,2 è il numero di bit e b è il numero di bit cambi dati al numero. La rappresentazione del turno di sinistra è (<) e per il giusto turno è (>> c) Qui C è il numero di bit a cui il numero deve essere spostato ad esempio, se spostiamo 12 due bit a sinistra e spostamo due bit su destra, quindi il risultato per il turno di sinistra sarà 48 e per il cambio a destra sarà 3.

Decimale 12 12
Binario 1100 1100
Operatore 12 <<2 12 >> 2
Risultato 110000 11
Binario a decimale 48 3

Il programma Arduino per tutti gli operatori po 'saggi è compilato per dare un quadro chiaro della funzionalità di questi operatori:

int a = 12;
int b = 13;
int c; // per conservare il risultato
void setup () // Metti qui il codice di configurazione, da eseguire una volta:
Seriale.Inizia (9600); // Inizializzazione della comunicazione seriale
Seriale.print ("e:");
c = a & b;
Seriale.println (c);
Seriale.print ("o:");
c = a | b;
Seriale.println (c);
Seriale.print ("xor:");
c = a^b;
Seriale.println (c);
Seriale.print ("no:");
c = ~ a;
Seriale.println (c);
Seriale.print ("Spek a sinistra:");
c = 12<<2;
Seriale.println (c);
Seriale.print ("a destra del cambio:");
c = 12 >> 2;
Seriale.println (c);

void loop ()
// Metti qui il tuo codice principale, per eseguire ripetutamente:

Produzione

Conclusione

Per applicare l'operazione logica su due numeri bit per bit, vengono utilizzati gli operatori bitwise e questi operatori aiutano a realizzare la condizione utilizzata per eseguire un'attività specifica. Questo articolo spiega brevemente ogni tipo di operatore bitwise con esempi e per dare un chiaro concetto di questi operatori e viene anche dato un semplice codice Arduino.