Преобразовать большую шестнадцатеричную строку в десятичную

Мне нужно преобразовать большую (слишком большую для встроенных типов данных) шестнадцатеричную строку в строку с ее десятичным представлением. Например:

std::string sHex = "07AA17C660F3DD1D2A1B48F1B746C148";
std::string sDec; // should end up with: "10187768649047767717933300899576725832"

В настоящее время я использую класс BigInt c ++ , который предлагает очень простой способ добиться этого (но только под лицензией GPL):

BigInt::Vin vbiTemp(sHex, 16);
sDec = vbiTemp.toStrDec();

Есть ли простой способ выполнить это преобразование без Сторонняя арифметическая библиотека? Или вы можете порекомендовать бесплатную альтернативу (без GPL) с аналогичной простотой (эффективность не имеет значения)?

8
задан Gilles 'SO- stop being evil' 25 March 2012 в 20:16
поделиться