【发布时间】:2013-11-04 05:03:00
【问题描述】:
在 C++ 中。我将 bitset 初始化为 -3,例如:
std::bitset<32> mybit(-3);
有没有一种优雅的方式可以将mybit 转换为-3。因为 bitset 对象只有 to_ulong 和 to_string 这样的方法。
【问题讨论】:
-
将其转换为 unsigned long,然后将其转换为 int。
-
作为the documentation says,
std::bitset具有将值转换为ulong的功能。因此,正如@Barmar 所说,将 long 转换为 int。那你的问题是什么?在发布问题之前,您是否阅读过文档或尝试过任何事情? -
@Johnsyweb 他可能想处理负值,如他的示例所示。
-
将
ulong转换为long,然后将int即int(long(mybit.to_ulong()))