My or may not work on 16-bit systems. Better use `long` or `uint32_t` explicitly.