Bitboard 64 位机器:对于 4x4 板,我应该使用 int16 还是 int64?

Bitboard 64-bit machine: should I use int16 or int64 for a 4x4 board?

我正在 64 位机器上使用位板用 C++ 编写一个 4x4 棋盘游戏。我只需要 16 位来实现电路板。我应该使用:

我不知道它是否有帮助,但我的处理器是:Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz 1.99 GHz

  • 如果您想节省 space,请使用 uint16_t
  • 如果您想节省时间,请使用 uint_fast16_t
  • uint64_t 也可能对制作按 8 字节边界对齐的值数组很有用。不过,这不太可能给您带来太多好处,因为它的代价是浪费分配给阵列的 75% 内存,以及相关的缓存性能损失。

注意:如果您的库将 uint_fast16_t 映射到 uint64_t,您最终可能会使用与 uint64_t 相同的类型。