4

所以我知道有一种方法可以使用 bitset 库将 Dec 转换为二进制,但是你可以使用 bitset 库将二进制转换为十进制吗?还是您必须手动完成?

bitset<8> bin_x(number);
4

2 回答 2

4

你可以,但它应该是一个字符串。

std::bitset<8> bits("1111");
std::cout << bits.to_ulong() << std::endl;

您可以将整数转换为字符串,然后将其传递给bitsetc-tor。

活生生的例子

于 2013-10-28T05:37:56.947 回答
0

另一种简单的方法(不使用位集库)使用stoi

// #include <string>
std::string str = "-10010110001";
int dec = std::stoi(bin, nullptr, 2); // dec = -1201
于 2021-09-01T16:05:54.177 回答