繁体   English   中英

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

[英]What is the fastest way to convert very large binary number representation to decimal representation?

我用二进制表示形式存储了很大的数字,我需要用十进制表示形式输出它:

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]是最高值。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM