My question looks a lot like
(I have an unsigned 32 bit I need to put into 4 unsigned 8-bit variables in C)
but
My question is whether this:
uint8_t a;
uint32_t b;
a = b;
guarantees that a is filled with the eight rightmost bits, rather than the eight leftmost bits?