Логарифм очень-очень большого числа

Я должен найти журнал очень большого числа.

Я делаю это в C ++

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

Благодарю.

Постскриптум Извините, я забыл вам сказать: я должен найтитолько двоичный логарифм из этого числа

П.С.-2 я нашел вВикипедия:

int floorLog2(unsigned int n) {

if (n == 0)

  return -1;

int pos = 0;

if (n >= (1 <<16)) { n >>= 16; pos += 16; }

if (n >= (1 << 8)) { n >>=  8; pos +=  8; }

if (n >= (1 << 4)) { n >>=  4; pos +=  4; }

if (n >= (1 << 2)) { n >>=  2; pos +=  2; }

if (n >= (1 << 1)) {           pos +=  1; }

return pos;

}

если я переделал его под большие цифры, он будет работать правильно?

Ответы на вопрос(2)

Ваш ответ на вопрос