Friday, November 11, 2005

การแปลงฐานเลข - ส่วนทศนิยม

ต่อเลยละกันนะ ... คราวนี้สมมติว่าค่า X ของเรา เป็นจำนวนจริงบวก มีส่วนจำนวนเต็มและส่วนทศนิยมอยู่ เราจะแยกสองส่วนนี้ออกจากกัน โดยสมมติให้

X = W + F
เมื่อ W ∈ Z+ ∪ {0} และ F ∈ [0, 1)

คราวนี้ สมมติให้ s เป็นการเขียนค่า X ในระบบเลขฐาน n เราจะรู้ว่า

X = Σi∈Z s(i) ni

ถ้ากำหนดให้

W = Σi∈Z sw(i) ni
F = Σi∈Z sf(i) ni

สมการแรก จะเขียนได้เป็น

W + F = Σi∈Z [sw(i) + sf(i)] ni

จากตอนที่แล้ว (การแปลงฐานเลข - จำนวนเต็ม) ที่เรารู้ว่า sw(i) = 0 เมื่อ i < 0

และเนื่องจาก 0 ≤ F < 1 ทำให้รู้ว่า sf(i) = 0 เมื่อ i ≥ 0

ดังนั้น เราจะแยกคิด sw(i) กับ sf(i) ได้ ...

วิธีการหา sw(i) ก็รู้แล้ว เราจะสนใจแต่ sf(i) นะ ... เริ่มจากสมการนี้

F = Σi<0 sf(i) ni
F = Σi>0 sf(-i) n-i

คูณตลอดด้วย n จะได้

nF = Σi>0 sf(-i) n-i+1

เพราะว่าเรารู้ว่า sf(-i) ทุกตัว มีค่าไม่เกิน n - 1 ดังนั้น

Σi>1 sf(-i) n-i+1 ≤ Σi≥2 (n - 1) n-i+1
Σi≥1 (n - 1) n-i = 1

เราจึงแยกส่วนจำนวนเต็มกับส่วนทศนิยมได้ ดังนี้

nF = sf(-1) + Σi>1 sf(-i) n-i+1

ผลรวมใน Σ ทางขวา จะอยู่ในช่วง [0, 1) ดังนั้น sf(-1) = nF mod 1

ได้มาตัวนึงละ ... ทำต่อนะ ... เอา sf(-1) ลบออกจากทั้งสองข้าง

nF - sf(-1) = Σi>1 sf(-i) n-i+1

ค่าทั้งสองข้างของสมการ จะมีค่าอยู่ในช่วง [0, 1) เราก็เอา n คูณเข้าไปอีกที แล้วแยกส่วนเต็มกับเศษออกจากกันอีกที

n[nF - sf(-1)] = Σi>1 sf(-i) n-i+2
n[nF - sf(-1)] = Σi>0 sf(-i - 1) n-i+1
n[nF - sf(-1)] = sf(-2) + Σi>1 sf(-i - 1) n-i+1

พจน์ที่ติด Σ อยู่ด้านขวา ก็จะรวมกันได้ไม่ถึง 1 อีก ... ดังนั้น sf(-2) = n[nF - sf(-1)] mod 1

ถ้าเราทำซ้ำ ๆ ไปเรื่อย ๆ เราก็จะหาค่า sf(-i) ได้ทั้งหมด

0 Comments:

Post a Comment

<< Home