That doesn't work correctly. You need to call `get32bits` and within that function you need to handle ctfe, big endian architectures and architectures that don't support unaligned reads.