การแปลงฐานเลข - ส่วนทศนิยม
ต่อเลยละกันนะ ... คราวนี้สมมติว่าค่า 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
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
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
Σ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
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