Maison  >  Article  >  développement back-end  >  Comment calculer le logarithme base 2 (log2) en C/C ?

Comment calculer le logarithme base 2 (log2) en C/C ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-27 21:28:01604parcourir

How to Calculate Logarithm Base 2 (log2) in C/C  ?

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ù :

  • log(x) est le logarithme népérien (base e)
  • log(2 ) est la valeur constante d'environ 0,693

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn