我无法将16位std :: string转换为可以保存字符串的确切二进制数的int。我一直在乱搞atoi和bitset,但他们转换为deciamls或取消领先的零有没有办法做到这一点
std::string str = "0011101100010101";
int num = 0;
.
.
.
num = 0011101100010101 // now equals
答案 0 :(得分:1)
使用std :: bitset
python
如果您不需要字符串
,请使用文字std::string str = "0011101100010101";
auto number = static_cast<uint16_t>(std::bitset<16>{ str }.to_ulong( ));