我正在创建一个国际象棋求解器并决定使用位板。方便的是,标准棋盘上有 64 个方格。这很好,因为 64 位操作系统的流行,单个位板可以装入单个寄存器。
也就是说,在使用 astd::bitset<64>
和其中的函数或“相同”大小的基本类型unsigned long long
和手动执行位旋转时是否存在根本差异(大小(内存和代码)、速度、复杂性、内存使用等)?
我正在创建一个国际象棋求解器并决定使用位板。方便的是,标准棋盘上有 64 个方格。这很好,因为 64 位操作系统的流行,单个位板可以装入单个寄存器。
也就是说,在使用 astd::bitset<64>
和其中的函数或“相同”大小的基本类型unsigned long long
和手动执行位旋转时是否存在根本差异(大小(内存和代码)、速度、复杂性、内存使用等)?