Какой самый быстрый способ преобразовать представление очень большого двоичного числа в десятичное представление?

У меня есть очень большое число, хранящееся в двоичном представлении, и мне нужно вывести его в десятичном представлении:

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] является самым высоким значением.

0

Решение

Я боюсь, что это не может быть сделано за линейное время, потому что каждый бит чтения влияет на все цифры десятичного представления. Чем длиннее цифра, тем дольше занимает каждый новый бит чтения.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector