right, but he only used unsigned types. I think there is another problem here:
u64 = u8 << 24
Here the integer promotion might transform u8 into a 16-bit or 32-bit int (depending on the arch). Which will then be converted to a u64 AFTER the shift. Which might have you lose half or more of the bits.
His code is not that though, it's
u32 = u8 << 24
which should work only if ints are 32-bit on the system you compile on.