Fungsi log() di Perl

Dalam bahasa pemrograman Perl memiliki fungsi built-in log().

Fungsi log() mengembalikan logaritma natural dari jumlah yang ditentukan.

Berikut ini sebuah contoh:

▶ Run
#!/usr/bin/perl

print log(10);

Program akan menampilkan 2.30258509299405.

Argumen

Jika fungsi log() tidak tidak ada argumen yang diberikan, fungsi bekerja dengan default variabel $_:

▶ Run
#!/usr/bin/perl

$_ = 3;

print log(); # 1.09861228866811

Standar menggunakan log() adalah untuk lulus satu argumen.

Jika fungsi transfer log() lebih dari satu argumen, itu akan menjadi sebuah kesalahan dan kode eksekusi akan dihentikan.

Too many arguments for log at script.pl line 3, near "2)"
Execution of script.pl aborted due to compilation errors.

Ketika anda mencoba untuk menghitung natural logaritma dari nol adalah suatu kesalahan:

▶ Run
#!/usr/bin/perl

log(0);
Can't take log of 0 at script.pl line 3.

Nilai kembali

Fungsi log() selalu mengembalikan jumlah.

Penggunaan dasar lainnya

Fungsi log() mengembalikan logaritma natural, yaitu logaritma basis e. Jika anda ingin menghitung logaritma dengan basis yang lain, maka anda dapat menulis fungsi:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;
use feature qw(say);

sub log_base {
    my ($base, $n) = @_;

    return log($n)/log($base);
};

say log_base(2, 4); # 2
say log_base(2, 256); # 8
say log_base(10, 1000); # 3

Dokumentasi resmi

Berikut ini adalah output dari perintah perldoc -f log:

    log EXPR
    log     Returns the natural logarithm (base *e*) of EXPR. If EXPR is
            omitted, returns the log of $_. To get the log of another base,
            use basic algebra: The base-N log of a number is equal to the
            natural log of that number divided by the natural log of N. For
            example:

                sub log10 {
                    my $n = shift;
                    return log($n)/log(10);
                }

            See also "exp" for the inverse operation.

Topik terkait

Artikel lainnya