将非常大的二进制数表示转换为十进制表示的最快方法是什么?

时间:2014-03-24 12:05:41

标签: c++ binary decimal biginteger

我在二进制表示中存储了非常大的数字,我需要以十进制表示形式输出它:

struct BigInteger {
    int *parts; // one part stores 12 bits of number, range: 0 to 0xfff
    int parts_n;
};

void convertToDecString( BigInteger *in, std::string &out );

我找不到任何方法,可以在线性时间内完成。

对于演示,您可以选择任何零件订单。我已按顺序排序,[0]为最低值,[n-1]为最高值。

1 个答案:

答案 0 :(得分:0)

我担心它不能在线性时间内完成,因为每个读取位都会影响十进制表示的所有数字。数字越长,每个新读取位的时间越长。