Calcul du logarithme base 2 en C/C
En C et C, il n'existe pas de fonction intégrée spécifiquement pour calculer la base du logarithme 2 (log2). Bien que des fonctions telles que log() pour la base e et log10() pour la base 10 soient facilement disponibles, log2() n'est pas directement fourni.
Solution : Transformation mathématique
Pour surmonter cette limitation, on peut s’appuyer sur une simple conversion mathématique. La formule pour calculer log2 est la suivante :
log2(x) = log(x) / log(2)
où :
Utilisation des fonctions intégrées
En utilisant la formule ci-dessus, vous pouvez implémenter la fonction log2() en utilisant le construit -in log() fonction :
C :
<code class="cpp">double log2(double x) { return log(x) / log(2); }</code>
C:
<code class="c">double log2(double x) { return log(x) / log(2.0); }</code>
Exemple d'utilisation :
<code class="cpp">#include <iostream> #include <math.h> int main() { double x = 10; double log2_result = log2(x); std::cout << "log2(" << x << ") = " << log2_result << std::endl; return 0; }</code>
Sortie :
log2(10) = 3.321928
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!