void setup() {
Serial.begin(115200);
byte start = 0b10101011;
byte mask = 0b11110000;
byte result = start & ~mask;
printBinWithLeading(start);
Serial.print("\tstart\n");
printBinWithLeading(~mask);
Serial.print( "\tand'ed with ~mask (");
printBinWithLeading(mask);
Serial.println(")");
printBinWithLeading(result);
Serial.println("\tyields");
}
void loop() {
}
void printBinWithLeading(byte funcResult) {
// byte funcRresult;
for (int i = 7; i >= 0; i--) {
// Serial.println(i);
if (bitRead(funcResult, i)) {
Serial.print("1");
}
else {
Serial.print("0");
}
}
}