Thanks for all the responses, I understand now and have recast the bytes. I didnt realise the shifting is done in the byte3-1 which are only 8 bits. so of course there's no where to go in each byte.
This has really interested me in unions and reading into it I'm going to attempt to see if I can build an array to understand them a bit better tomorrow. I am assuming a union is more efficient and or elegant solution?
I realise there are many ways of doing this.