This page is also available in 2 other languages


[Bits and Bytes]


Writes to a bit of a variable, e.g. bool, int, long. Note that float & double are not supported. You can write to a bit of variables up to an unsigned long (32 bits / 4 bytes).


bitWrite(x, n, b)


x: the numeric variable to which to write.
n: which bit of the number to write, starting at 0 for the least-significant (rightmost) bit.
b: the value to write to the bit (0 or 1).



Example Code

Demonstrates the use of bitWrite by printing the value of a variable to the Serial Monitor before and after the use of bitWrite().

void setup() {
  while (!Serial) {}  // wait for serial port to connect. Needed for native USB port only
  byte x = 0b10000000;  // the 0b prefix indicates a binary constant
  Serial.println(x, BIN); // 10000000
  bitWrite(x, 0, 1);  // write 1 to the least significant bit of x
  Serial.println(x, BIN); // 10000001

void loop() {}

See also