【发布时间】:2018-03-03 07:26:48
【问题描述】:
例如:
string binaryValue = "11111111111111111111111111111011" // -5
我需要将此字符串转换为该数字的十进制表示。
stoi(binaryValue, nullptr, 2)
在这种情况下会抛出异常。那么我怎么能在 C++ 中做到这一点? String 或 int 无关紧要。
【问题讨论】:
-
有什么例外?
-
Microsoft C++ exception: std::out_of_range at memory location 0x00BDF664. -
您的转换取决于 2 补码表示,这不是 C++ 标准的一部分。因此,数字超出范围。使用
stol并强制转换为int。
标签: c++ binary twos-complement