THINK JAVA: CÁCH SUY NGHĨ NHƯ NHÀ KHOA HỌC MÁY TÍNH - Trang 63

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

ư

ớ ượ

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.