|

Operacje na bitach bitSet, bitClear, bitRead, bitWrite

bitSet(x, n)

Metoda bitSet() ustawia wartość 1 dla podanego numeru bitu n i zwraca nową wartość do zmiennej x.

x: zmienna w której ma nastąpić zmiana bitu

n: numer bitu do zmiany na 1

void setup() {
  Serial.begin(9600);
  byte x = 0b10000000; 
  Serial.print("BEFORE: ");
  Serial.println(x, BIN);
  bitSet(x, 2); // zamienia 3 bit od prawej strony na 1
  Serial.print("AFTER:  ");
  Serial.println(x, BIN); // 10000100
}
void loop() {
}

bitClear(x, n)

Metoda bitClear() ustawia wartość 0 dla podanego numeru bitu n i zwraca nową wartość do zmiennej x.

x: zmienna w której ma nastąpić zmiana bitu

n: numer bitu do zmiany na 0

bitRead(x, n)

Metoda bitRead() zwraca wartość danego bitu n z liczby x.

x: liczba (zmienna) z której dane są zaczytywane

n: numer bitu do zaczytania

byte x = 0b10001100;
Serial.println(bitRead(x,2)); //zwraca wartość 3 bitu od prawej strony: 1

bitWrite(x, n, b)

Metoda bitWrite() zmienia wartość bitu n w liczbie x

x: liczba (zmienna) w której dane mają być zmienione

n: numer bitu do zaczytania

b: wartość 0 lub 1, która ma zostać nadpisana do podanego wcześniej bitu

byte x = 0b10000000;
bitWrite(x, 0, 1);
Serial.println(x, BIN); // 0b10000001

Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *