如何将非常大的二进制数转换为十进制数?

时间:2016-10-16 07:50:41

标签: c++ arrays string binary decimal

假设我有一个存储在数组或字符串中的二进制数和等效的十进制数。超出了甚至无符号long long int的范围。在这种情况下我能做什么?我正在使用C ++

2 个答案:

答案 0 :(得分:1)

在我的评论中提到 - 使用bitset。这是一个例子:

{"data":[{"accountId":"5xxx","remoteOptionId":"yyyyyy","type":"gdrive","username":"email@gmail.com"}]}

ideone

答案 1 :(得分:0)

如果您使用c#,则BigInteger中有System.Numerics

不幸的是,你应该得到有用的库(Big Integer Library), 或者像下面的代码一样自己实现

class BigInt
{
public:
    enum IntType{Binary, Decimal };
    explicit BigInt(string number);
    std::string GetBinary();
    std::string GetDecimal();

private:
    std::string m_number;//you should store number as string, so you don't need care maximum number.
    IntType m_type;
};