Cara Mengira Logaritma Asas 2 dalam C/C Menggunakan Penukaran Matematik
Dalam C/C , fungsi logaritma terbina dalam adalah log (), yang mengira logaritma asli (asas e), dan log10(), yang mengira logaritma asas 10. Walau bagaimanapun, kadangkala anda mungkin perlu mengira logaritma asas 2 dan mereka tidak menawarkan fungsi ini secara langsung.
Untuk mengira logaritma asas 2 menggunakan matematik mudah, anda boleh menukarnya kepada asas lain dan kemudian menggunakan fungsi log sedia ada. Persamaan untuk penukaran ini ialah:
log<sub>2</sub> (x) = log<sub>y</sub> (x) / log<sub>y</sub> (2)
di mana y boleh menjadi sebarang asas. Biasanya, y adalah sama ada 10 atau e, bergantung pada fungsi log yang tersedia dalam bahasa pengaturcaraan anda.
Dalam C/C , anda boleh menggunakan fungsi log() untuk mengira asas logaritma e dan log10() kepada hitung asas logaritma 10. Jadi, untuk mengira asas logaritma 2, anda boleh menggunakan kod berikut:
<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>
Kod ini mengambil nombor input, mengira asas log 10 dan membahagikannya dengan asas log 2. Hasilnya ialah logaritma asas 2 nombor input.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Logaritma Asas 2 dalam C/C tanpa Fungsi Terbina dalam?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!