如何在C ++中将字符串转换为整数

时间:2015-02-18 14:58:49

标签: c++ string

这可能是一个简单的问题,但我仍然堆积在它上面。

我有字符串变量number = 11111111111111111111111111111110,十进制是4294967294

我无法使用atoi因为它的值绕过了int值。我还尝试了istringstreamstrtoul,但两者都给出了不准确的结果。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

strtoul接受定义基数的第三个参数。将基数设为2

unsigned long parsedValue;
std::string binaryNumber("11111111111111111111111111111110");
parsedValue= strtoul(binaryNumber.c_str(), NULL, 2);

http://www.cplusplus.com/reference/cstdlib/strtoul/?kw=strtoul