5.0 1.6094379124341003
6.0 1.791759469228055
7.0 1.9459101490553132
8.0 2.0794415416798357
9.0 2.1972245773362196
Nhìn vào nh ng giá tr này, b n có th nói r ng ph
ng th c
ữ
ị
ạ
ể
ằ
ươ
ứ log này dùng c s nào?
ơ ố
Vì các lũy th a c a 2 r t quan tr ng trong ngành khoa h c máy tính, nên ta th
ng mu n l y loga theo
ừ ủ
ấ
ọ
ọ
ườ
ố ấ
c s 2. Đ tính toán, ta có th dùng bi u th c:
ơ ố
ể
ể
ể
ứ
log
2
x = log
e
x / log
e
2
Hãy thay câu l nh
ệ print b ng
ằ
System.out.println(x +
" "
+ Math.log(x) / Math.log(2.0));
đ cho ra
ể
1.0 0.0
2.0 1.0
3.0 1.5849625007211563
4.0 2.0
5.0 2.321928094887362
6.0 2.584962500721156
7.0 2.807354922057604
8.0 3.0
9.0 3.1699250014423126
Có th th y r ng 1, 2, 4, và 8 là các lũy th a c a 2 vì các giá tr logarit c s 2 c a chúng đ u là nh ng s
ể ấ ằ
ừ ủ
ị
ơ ố
ủ
ề
ữ
ố
nguyên. N u mu n tìm logarit c a nh ng lũy th a khác c a 2, ta có th s a ch
ng trình trên thành:
ế
ố
ủ
ữ
ừ
ủ
ể ử
ươ
double
x = 1.0;
while
(x < 100.0) {
System.out.println(x +
" "
+ Math.log(x) / Math.log(2.0));
x = x * 2.0;
}
Bây gi thay vì c ng thêm m t s v i
ờ
ộ
ộ ố ớ x trong m i vòng l p (đi u này cho ra dãy c p s c ng), ta đem
ỗ
ặ
ề
ấ ố ộ
nhân m t giá tr v i
ộ
ị ớ x (thu đ c
ượ c p s nhân
ấ
ố
). K t qu là:
ế
ả
1.0 0.0
2.0 1.0
4.0 2.0
8.0 3.0
16.0 4.0
32.0 5.0
64.0 6.0
B ng logarit có th không còn có ích n a, nh ng v i nhà khoa h c máy tính, vi c nh đ
c các lũy th a
ả
ể
ữ
ư
ớ
ọ
ệ
ớ ượ
ừ