Ex35: how does byte offset work?

In the code of exercise 35 for the macro ByteOf we use a cast to an 8 bit integer and offset to determine which byte we are going to use. So far I get the intention. What I don’t get is how byte[0] is going to point to the rightmost 8 bits. The first 4 bits in the number are the high order 4 bits.

For instance a number 7E7E3DF6 (hex) in a normal array would produce for byte[0] '7E. Why does it productF6` nonetheless? How does this work?

P.S. I do understand this is the intention, I just don’t understand how byte[0] can point to the right part of the number.

Kind regards, Guus.

I haven’t looked at the code but I bet it’s because of this: