Comment calculer le logarithme de base 2 en C/C à l'aide de la conversion mathématique
En C/C, les fonctions de logarithme intégrées sont log (), qui calcule le logarithme népérien (base e), et log10(), qui calcule le logarithme base 10. Cependant, vous devrez parfois calculer le logarithme base 2, et ils n'offrent pas directement cette fonctionnalité.
Pour calculer le logarithme base 2 en utilisant des mathématiques simples, vous pouvez le convertir en une autre base puis utiliser la fonction log existante. L'équation de cette conversion est :
log<sub>2</sub> (x) = log<sub>y</sub> (x) / log<sub>y</sub> (2)
où y peut être n'importe quelle base. Généralement, y vaut 10 ou e, selon les fonctions de journalisation disponibles dans votre langage de programmation.
En C/C, vous pouvez utiliser la fonction log() pour calculer la base du logarithme e et log10() pour calculer le logarithme base 10. Ainsi, pour calculer le logarithme base 2, vous pouvez utiliser le code suivant :
<code class="c">#include <iostream> #include <cmath> double log2(double x) { return log10(x) / log10(2); } int main() { double number; std::cout << "Enter a number: "; std::cin >> number; std::cout << "log2(" << number << ") = " << log2(number) << std::endl; return 0; }</code>
Ce code prend le nombre saisi, calcule le log base 10 et le divise par le log base 2. Le résultat est le logarithme base 2 du nombre saisi.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!