gpt4 book ai didi

c++ - 使用 std::bitset 或相同大小的基本类型?

转载 作者:行者123 更新时间:2023-11-28 00:13:19 26 4
gpt4 key购买 nike

我正在创建一个国际象棋解算器并决定使用位板。方便的是,标准棋盘上有 64 个方格。这很好,因为 64 位操作系统很流行,单个位板可以放入单个寄存器。

也就是说,使用 std::bitset<64> 是否存在根本差异(大小(内存和代码)、速度、复杂性、内存使用等)以及其中的功能或“相同”大小的基本类型unsigned long long并手动执行位操作?

最佳答案

uint64_t 可能。你会想要执行 std::bitset 上不可用的操作,包括几乎所有的算术运算、位扫描、使用板的一部分作为数组的索引,以及 SSE 内在函数(如果你认真的话)关于它。

例如(无论如何都不是详尽的列表,只是一些简单的例子)在o^(o-2r) (及其 cousin ),更高级的 Hyperbola Quintessence,作为提取最低设置位等的一部分。

您可以使用 std::bitset 但您会经常将它转换回某种类型的整数。

关于c++ - 使用 std::bitset 或相同大小的基本类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31899289/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com