uint32_t x;
uint8_t getByte (uint32_t x, int n) {
return (x >> (n << 3)) & 0xff;
}
int getByte2(uint32_t x, int n) {
return (x >> (8 * n)) & 0xFF;
}
void setup() {
Serial.begin(115200);
//uint32_t myl = 4294967295UL;
//uint32_t myl = 40000000001UL;
//uint32_t x = 1UL << 31;
/*
for (int i = 0; i < 32; i++)
Serial.println((x >> (i * 4)) & 0xF);
while(1);
*/
for (int i = 0; i < 32; i++) {
Serial.print( getByte(x, i) ),
Serial.print(" ");
if (i > 0 && !(i%8)) Serial.println();
}
Serial.println();
delay(1000);
for (int i = 0; i < 32; i++) {
//uint32_t x = 1UL << i;
//uint32_t x = ((1UL << (i * 4)) & 0xF);
x = 1UL << i;
Serial.print("x is : ");
Serial.println(x, BIN);
}
x |= (1UL << 15UL);
//Serial.println(x, BIN);
delay(1000);
for (int i = 0; i < 32; i++) {
Serial.print( getByte2(x, i) ),
Serial.print(" ");
if (i > 0 && !(i%8)) Serial.println();
}
Serial.println();
delay(1000);
}
void loop() {}