log
, logf
, logl
, log10
, log10f
, log10l
Menghitung logaritma.
Sintaks
double log(double x);
float logf(float x);
long double logl(double x);
double log10(double x);
float log10f (float x);
long double log10l(double x);
#define log(X) // Requires C11 or higher
#define log10(X) // Requires C11 or higher
float log(float x); // C++ only
long double log(long double x); // C++ only
float log10(float x); // C++ only
long double log10(long double x); // C++ only
Parameter
x
Nilai yang logaritmanya akan ditemukan.
Nilai hasil
Fungsi log
mengembalikan logaritma alami (dasar e
) jika x
berhasil. Fungsi log10
mengembalikan logaritma base-10. Jika x
negatif, fungsi-fungsi ini mengembalikan tidak terbatas (IND
), secara default. Jika x
adalah 0, mereka mengembalikan infinity (INF
).
Input | Pengecualian SEH | Pengecualian _matherr |
---|---|---|
± QNaN, IND | tidak ada | _DOMAIN |
± 0 | ZERODIVIDE |
_SING |
x < 0 |
INVALID |
_DOMAIN |
log
dan log10
memiliki implementasi yang menggunakan Streaming SIMD Extensions 2 (SSE2). Lihat _set_SSE2_enable
untuk informasi dan batasan penggunaan implementasi SSE2.
Keterangan
C++ memungkinkan kelebihan beban, sehingga Anda dapat memanggil kelebihan beban log
dan log10
yang mengambil dan mengembalikan float
atau long double
nilai. Dalam program C, kecuali Anda menggunakan <tgmath.h>
makro untuk memanggil fungsi ini, log
dan log10
selalu mengambil dan mengembalikan double
.
Jika Anda menggunakan <tgmath.h> log()
makro, jenis argumen menentukan versi fungsi mana yang dipilih. Lihat Matematika generik jenis untuk detailnya.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Persyaratan
Rutin | Header yang diperlukan |
---|---|
log , logf , logl , log10 , log10f , log10l |
<math.h> |
log makro |
<tgmath.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
// crt_log.c
/* This program uses log and log10
* to calculate the natural logarithm and
* the base-10 logarithm of 9,000.
*/
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 9000.0;
double y;
y = log( x );
printf( "log( %.2f ) = %f\n", x, y );
y = log10( x );
printf( "log10( %.2f ) = %f\n", x, y );
}
log( 9000.00 ) = 9.104980
log10( 9000.00 ) = 3.954243
Untuk menghasilkan logaritma untuk basis lain, gunakan relasi matematika: log base b dari log alami == (a) / log alami (b).
// logbase.cpp
#include <math.h>
#include <stdio.h>
double logbase(double a, double base)
{
return log(a) / log(base);
}
int main()
{
double x = 65536;
double result;
result = logbase(x, 2);
printf("Log base 2 of %lf is %lf\n", x, result);
}
Log base 2 of 65536.000000 is 16.000000
Baca juga
Dukungan matematika dan titik mengambang
exp
, expf
, expl
_matherr
pow
, powf
, powl
_CIlog
_CIlog10
\
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk