uint8_t getBit(uint16_t val, uint8_t pos) {
return ((val >> (pos * 4)) & 0xF);
}
void setup() {
Serial.begin(9600);
uint16_t x = 0b0000000000000000;
uint16_t num = 1000;
uint8_t val = 4;
//x |= (1 << 15); // set bit 8 -> 256
x |= 1024;
x |= val;
//x &= 0x08;
//x |= (1 << 7);
//y = y & 0xFF;
Serial.print(x); Serial.print(" -> "); Serial.println(x, BIN);
for (int i=16; i-->0;)
Serial.print(i), Serial.print(": "),
Serial.println((x & (1 << i)) ? "1" : "0");
//Serial.print(i), Serial.print(": "), Serial.println( getBit(x, i));
for (int i=12; i-->0;) {
Serial.print(i); Serial.print(" 0x"); Serial.println(i, HEX);
}
}
void loop() {
// put your main code here, to run repeatedly:
}