**I left out a very important part that allows you to do what you want, and that part is a struct. If you tried my first code, you would have seen that both Hi and Lo output the same thing. Well with a struct, it will now actually split the memory of the int into Hi and Lo.
Use an array
byte Lo; // <- notice the order, Lo is first. The explanation to this is because memory is read as Lo to Hi, not Hi to Lo
for(byte i = 0; i < 20; i++)
myBytes[i].Data = random(10000,32000);
for(byte j = 0; j < 20; j++)
I would also like to point out a new milestone, that this is the very first time I have ever had a reason to use a Union.
Sad, I know.