07-27-2023, 12:14 PM
I'd write two lines to set, say, some bits to something. Here, for example, I want to set the upper 8 bits in uint16_t value x to y's lower 8 bits.
uint16_t y = 0x0034;
uint16_t x = 0xFF12;
I want to have x:
assert(x == 0x3412);
I tend to write these two lines:
x &= 0x00FF;
x |= (y << 8);
Is there a way of writing a single line to achieve the same effect without using a macro?
uint16_t y = 0x0034;
uint16_t x = 0xFF12;
I want to have x:
assert(x == 0x3412);
I tend to write these two lines:
x &= 0x00FF;
x |= (y << 8);
Is there a way of writing a single line to achieve the same effect without using a macro?