我知道使用bitset库可以将十进制转换为二进制,但是是否也可以使用bitset库将二进制转换为十进制呢?或者必须手动完成呢?
bitset<8> bin_x(number);
std::bitset<8> bits("1111");
std::cout << bits.to_ulong() << std::endl;
bitset
构造函数。
实例演示
BinaryNum
是 char* 或者 string,那么一切都会正常工作。 - ForEveR另一种简单的方法(不使用bitset库)是使用stoi
// #include <string>
std::string str = "-10010110001";
int dec = std::stoi(bin, nullptr, 2); // dec = -1201
std::bitset
还是可以使用字符串(在这种情况下,我建议使用std::strtol()
)? - user529758