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

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

Linda Hamilton
Libérer: 2024-10-27 21:28:01
original
695 Les gens l'ont consulté

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)
Copier après la connexion

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>
Copier après la connexion

C:

<code class="c">double log2(double x) {
    return log(x) / log(2.0);
}</code>
Copier après la connexion

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>
Copier après la connexion

Sortie :

log2(10) = 3.321928
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal