Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengira Logaritma Asas 2 (log2) dalam C/C?

Bagaimana untuk Mengira Logaritma Asas 2 (log2) dalam C/C?

Linda Hamilton
Linda Hamiltonasal
2024-10-27 21:28:01697semak imbas

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

Mengira Logaritma Asas 2 dalam C/C

Dalam C dan C , tiada fungsi terbina dalam khusus untuk mengira asas logaritma 2 (log2). Walaupun fungsi seperti log() untuk asas e dan log10() untuk asas 10 tersedia, log2() tidak disediakan secara langsung.

Penyelesaian: Transformasi Matematik

Untuk mengatasi had ini, seseorang boleh bergantung pada penukaran matematik yang mudah. Formula untuk mengira log2 adalah seperti berikut:

log2(x) = log(x) / log(2)

di mana:

  • log(x) ialah logaritma asli (asas e)
  • log(2 ) ialah nilai malar lebih kurang 0.693

Menggunakan Fungsi Terbina dalam

Menggunakan formula di atas, anda boleh melaksanakan fungsi log2() menggunakan binaan -in log() fungsi:

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>

Contoh Penggunaan:

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

Output:

log2(10) = 3.321928

Atas ialah kandungan terperinci Bagaimana untuk Mengira Logaritma Asas 2 (log2) dalam C/C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn