首页 > 解决方案 > Bitboard 64 位机器:对于 4x4 板,我应该使用 int16 还是 int64?

问题描述

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

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

标签: performance64-bit32bit-64bit16-bitbitboard

解决方案


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

注意:您最终可能会使用与uint64_t您的库映射uint_fast16_tuint64_t.


推荐阅读