Getting in the habit of using the <stdint.h> which provides guaranteed minimum width types, is perhaps the best way to avoid 32 vs 64 bit compilation problems or ambiguities. It's just 4 more keystrokes for int (int32_t), but all the unsigned declarations are much shorter and in fact one saves keyboard time when using <stdint.h>. Also i believe it enhances reliability of you on your variables, as you stop thinking precision issues.