Получаем показатель степени числа

Допустим, у нас есть некое число, например 10 000. Как получить его показатель степени (т.е. 1 * 10 в какой-то степени)?

Для этого в цикле делим это число на 10 пока оно не станет меньше 9. Количество итераций цикла и будет степенью числа:
while (digit > 9)
{
digit /= 10;
power += 1;
}

А как решить эту задачу для дробных чисел, например 0,0001? Аналогично...
В цикле умножаем число на 10 пока оно меньше 1:
while (digit < 1)
{
digit *= 10;
power -= 1;
}

Скачать исходный код готового примера можно тут.
Работа приложения под Windows Работа приложения под Linux
Работает как в Windows, так и под Mono в Linux.

Поблагодарить автора

Оставить комментарий

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>