I'm programming a 4x4 board game in C++ using bitboards in a 64-bit machine. I only need 16 bits to implement the board. Should I use:
- uint16_t - to reduce used space?
- uint64_t - if operations are(?) faster with 64-bit integers, should I use them and mask the value with 0xFFFF (bitwise AND) when necessary?
- uint_fast16_t - I just discovered this integer type, but I'm not sure how it works and if I would need a mask too?
I don't know if it helps, but my processor is: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz 1.99 GHz