c++ - 在 C++ 中将 bitset 转换为 int

标签 c++ bitset

在 C++ 中。我将 bitset 初始化为 -3,例如:

std::bitset<32> mybit(-3);

有没有一种优雅的方式可以将 mybit 转换为 -3。因为 bitset 对象只有 to_ulongto_string 等方法。

最佳答案

使用 to_ulong 将其转换为 unsigned long,然后进行普通转换将其转换为 int

int mybit_int;

mybit_int = (int)(mybit.to_ulong());

DEMO

关于c++ - 在 C++ 中将 bitset 转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19583720/

相关文章:

c++ - 递归函数中的段错误。使用 std::stack (C++)

c++ - 快速动态类型转换进度

c++ - 初始化 3d 数组的快速方法 (C++)

c++ - long int 的位表示未正确打印

java - 在数据库中存储 BitSet 数组的最佳方法?

c++ - 固定 QGraphicsItem 位置,不改变场景中其他 QGraphicsItem 的行为

c++ - 你可以调用模板参数成员的成员吗?

c++ - 如何在位集中存储更大的二进制数 (C++)

java - 在大值中使用哪种数据结构?

java - Bitset size() 和 length() 是什么意思,它们之间有什么区别?