Maison > développement back-end > C++ > le corps du texte

Comment calculer le logarithme base 2 en C/C sans fonction intégrée ?

Barbara Streisand
Libérer: 2024-10-27 08:13:03
original
516 Les gens l'ont consulté

How to Calculate Logarithm Base 2 in C/C   without a Built-in Function?

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

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

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!

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