อ่าน 8 นาที
ฐานการนับที่ไม่ใช่จำนวนเต็ม
การแสดงผลแบบไม่ใช้จำนวนเต็มใช้ตัวเลข ที่ไม่ใช่ จำนวนเต็ม เป็น ฐานหรือรากฐานของระบบตัวเลขแบบตำแหน่งสำหรับฐานที่ไม่ใช่จำนวนเต็มβ > 1 ค่าของ
ฐานการนับที่ไม่ใช่จำนวนเต็ม
| ส่วนหนึ่งของชุดบทความเกี่ยวกับ |
| ระบบตัวเลข |
|---|
| รายชื่อระบบตัวเลข |
การแสดงผลแบบไม่ใช้จำนวนเต็มใช้ตัวเลข ที่ไม่ใช่ จำนวนเต็ม เป็น ฐานหรือรากฐานของระบบตัวเลขแบบตำแหน่งสำหรับฐานที่ไม่ใช่จำนวนเต็มβ > 1 ค่าของ
เป็น
จำนวนd iคือจำนวนเต็มที่ไม่เป็นลบและน้อยกว่าβสิ่งนี้เรียกอีกอย่างว่าการขยายβซึ่งเป็นแนวคิดที่เสนอโดยRényi (1957)และได้รับการศึกษาอย่างละเอียดเป็นครั้งแรกโดยParry (1960) จำนวนจริงทุก จำนวนมี การขยายβอย่างน้อยหนึ่งรายการ (อาจเป็นอนันต์) เซต ของการขยาย βทั้งหมดที่มีการแสดงแทนแบบจำกัดคือเซตย่อยของริงZ [ β , β −1 ]
มีการประยุกต์ใช้ การขยาย βในทฤษฎีการเข้ารหัส[ 1 ]และแบบจำลองของผลึกกึ่งควอนตัม[ 2 ]
การก่อสร้าง
การขยาย เบตา (β -expansion) เป็นการขยายทั่วไปของการขยายทศนิยมในขณะที่การขยายทศนิยมอนันต์ไม่เป็นเอกลักษณ์ (ตัวอย่างเช่น 1.000... = 0.999... ) การขยายทศนิยมจำกัดทั้งหมดเป็นเอกลักษณ์ อย่างไรก็ตาม แม้แต่ การขยาย เบตา แบบจำกัด ก็ไม่จำเป็นต้องเป็นเอกลักษณ์เสมอไป ตัวอย่างเช่นφ + 1 = φ 2สำหรับβ = φซึ่งเป็นอัตราส่วนทองคำการเลือกมาตรฐานสำหรับ การขยาย เบตาของจำนวนจริงที่กำหนดสามารถกำหนดได้โดยอั ลกอริทึม แบบโลภ (greedy algorithm) ต่อไปนี้ ซึ่งโดยพื้นฐานแล้วเป็นผลงานของRényi (1957)และถูกกำหนดสูตรดังที่แสดงไว้ในที่นี้โดยFrougny (1992 )
ให้β > 1เป็นฐาน และxเป็นจำนวนจริงที่ไม่เป็นลบ ให้⌊ x ⌋ เป็น ฟังก์ชันปัดเศษลงของx (นั่นคือ จำนวนเต็มที่มากที่สุดที่น้อยกว่าหรือเท่ากับx ) และให้{ x } = x − ⌊ x ⌋เป็นส่วนทศนิยมของx มีจำนวนเต็ม k อยู่จริงโดยที่ β k ≤ x < β k +1กำหนดให้
และ
สำหรับk − 1 ≥ j > −∞ให้ใส่
กล่าวอีกนัยหนึ่ง การขยาย β แบบแคนอนิก ของxถูกกำหนดโดยการเลือกd k ที่ใหญ่ที่สุด ซึ่งβ k d k ≤ xจากนั้นเลือกd k −1 ที่ใหญ่ที่สุด ซึ่งβ k d k + β k −1 d k −1 ≤ xและทำเช่นนี้ต่อไปเรื่อยๆ ดังนั้นจึงเลือกสตริง ที่เรียงลำดับตามพจนานุกรมที่ใหญ่ที่สุดซึ่งแทนx
เมื่อใช้ฐานเป็นจำนวนเต็ม วิธีนี้จะกำหนดการขยายฐานตามปกติสำหรับจำนวนx การสร้างนี้จะขยายอัลกอริทึมแบบปกติไปสู่ค่า βที่อาจไม่ใช่จำนวนเต็มได้
การแปลง
เมื่อทำตามขั้นตอนข้างต้น เราสามารถสร้าง การขยาย βสำหรับจำนวนจริงได้(ขั้นตอนเหมือนกันสำหรับ an แม้ว่าnจะต้องถูกคูณด้วยก่อนก็ตาม)−1เพื่อให้ได้ค่าบวก จากนั้นผลลัพธ์จะต้องถูกคูณด้วย-1เพื่อทำให้ค่าเป็นลบอีกครั้ง)
ขั้นแรก เราต้องกำหนด ค่า k ของเราก่อน (เลขชี้กำลังของกำลังที่ใกล้ที่สุดของβที่มากกว่าnรวมถึงจำนวนหลักในโดยที่คือnที่เขียนในฐานβ ) ค่า kสำหรับnและβสามารถเขียนได้ดังนี้:
หลังจากหาค่าk ได้แล้ว สามารถเขียนได้เป็นdโดยที่
สำหรับk − 1 ≥ j > −∞ ค่า d kค่าแรกจะปรากฏอยู่ทางซ้ายของจุดทศนิยม
สิ่งนี้สามารถเขียนเป็นรหัสเทียม ได้ดังต่อไปนี้ : [ 3 ]
ฟังก์ชันtoBase ( n , b ) { k = floor ( log ( b , n )) + 1 precision = 8 result = ""สำหรับ( i = k - 1 , i > - precision - 1 , i -- ) { ถ้า( result . length == k ) result += "." digit = floor (( n / b ^ i ) mod b ) n -= digit * b ^ i result += digit }ส่งคืนผลลัพธ์}โปรดทราบว่าโค้ดข้างต้นใช้ได้เฉพาะกับและเท่านั้น เนื่องจากไม่ได้แปลงตัวเลขแต่ละหลักให้เป็นสัญลักษณ์ที่ถูกต้องหรือตัวเลขติดลบที่ถูกต้อง ตัวอย่างเช่น หากค่าของตัวเลขหลักหนึ่งคือ10จะถูกแสดงเป็น10แทนที่จะเป็น A
ตัวอย่างโค้ดการใช้งาน
ฐานπ
- JavaScript : [ 3 ]
ฟังก์ชันtoBasePI ( num , precision = 8 ) { let k = Math . floor ( Math . log ( num ) / Math . log ( Math . PI )) + 1 ; if ( k < 0 ) k = 0 ;let digits = [];สำหรับ( let i = k - 1 ; i > ( -1 * precision ) - 1 ; i-- ) { let digit = Math.floor ( ( num / Math.pow ( Math.PI , i ) ) % Math.PI ) ; num - = digit * Math.pow ( Math.PI , i ) ; digits.push ( digit ) ; }ถ้า( num < 0.1 ** ( precision + 1 ) && i <= 0 ) break ; }ถ้า( digits.length > k ) digits.splice ( k , 0 , " . " ) ;ส่งคืนตัวเลข. join ( "" ); }
จากฐานπ
- JavaScript: [ 3 ]
ฟังก์ชันfromBasePI ( num ) { let numberSplit = num . split ( /\./g ); let numberLength = numberSplit [ 0 ]. length ;let output = 0 ; let digits = numberSplit . join ( "" );สำหรับ( let i = 0 ; i < digits.length ; i ++ ) { output + = digits [ i ] * Math.pow ( Math.PI , numberLength - i - 1 ) ; }ส่งคืนผลลัพธ์; }
ตัวอย่าง
ฐาน√ 2
ฐาน√2ทำงานในลักษณะที่คล้ายคลึงกับฐาน 2 มาก เพราะสิ่งเดียวที่ต้องทำในการแปลงเลขฐานสองเป็นฐาน√2คือการใส่เลขศูนย์คั่นระหว่างเลขฐานสองทุกตัว ตัวอย่างเช่น 1911 10 = 11101110111 2จะกลายเป็น 101010001010100010101 √2และ 5118 10 = 1001111111110 2 จะ กลายเป็น 100000101010101010101010100 √2ซึ่งหมายความว่าจำนวนเต็มทุกจำนวนสามารถแสดงในฐาน√2 ได้โดย ไม่ต้อง ใช้จุดทศนิยม ฐาน √2 ยังสามารถใช้แสดงความสัมพันธ์ระหว่างด้านของสี่เหลี่ยมจัตุรัสกับเส้นทแยงมุมได้เช่น สี่เหลี่ยมจัตุรัสที่มีด้านยาว 1/2 จะมีเส้นทแยงมุมยาว 10/2 และสี่เหลี่ยมจัตุรัสที่มีด้านยาว 10/2 จะมีเส้นทแยงมุมยาว 100/2 อีก ประโยชน์หนึ่งของฐาน √2คือการแสดงอัตราส่วนของเงินเนื่องจากค่าที่แสดงในฐาน√2 คือ 11/2 นอกจากนี้ พื้นที่ของรูปแปดเหลี่ยมด้านเท่าที่มีความยาวด้าน1/2คือ 1100/2 พื้นที่ ของรูปแปดเหลี่ยมด้าน เท่า ที่มีความ ยาวด้าน 10/2 คือ 110000/2 พื้นที่ของรูปแปดเหลี่ยมด้านเท่าที่มีความยาวด้าน100/2คือ11000000/2 เป็นต้น ...
ฐานทองคำ
ในระบบเลขฐานทอง ตัวเลขบางตัวมีค่าเทียบเท่าในระบบเลขฐานสิบมากกว่าหนึ่งค่า ทำให้เกิดความกำกวมตัวอย่างเช่น 11 φ = 100 φเนื่องจาก φ² = φ + 1
ฐาน ψ
มีตัวเลขบางตัวในฐานψ ซึ่งเป็นอัตราส่วนทองคำพิเศษที่มีความกำกวมเช่นกัน ตัวอย่างเช่น 101 ψ = 1000 ψเนื่องจาก ψ³ = ψ² + 1
ฐานe
เมื่อใช้ฐานeค่าลอการิทึมธรรมชาติจะมีลักษณะเหมือนกับลอการิทึมฐาน 10 กล่าวคือ ln(1 e ) = 0, ln(10 e ) = 1, ln(100 e ) = 2 และ ln(1000 e ) = 3 (หรือกล่าวให้แม่นยำยิ่งขึ้นคือ ค่าที่แสดงในฐานeของ 3 ซึ่งเป็นจำนวนไม่รู้จบ) นั่นหมายความว่า ส่วนจำนวนเต็มของลอการิทึมธรรมชาติของจำนวนในฐานeจะนับจำนวนหลักก่อนจุดคั่นของจำนวนนั้น ลบด้วยหนึ่ง
ฐานeเป็นตัวเลือกฐานที่ประหยัดที่สุดβ > 1 [ 4 ]โดยที่ความประหยัดของฐานจะวัดจากผลคูณของฐานและความยาวของสตริงสัญลักษณ์ที่จำเป็นในการแสดงช่วงค่าที่กำหนด เลขฐานสองใช้เพียงสองหลักที่แตกต่างกัน แต่ต้องใช้หลักจำนวนมากในการแสดงตัวเลข ฐาน 10 เขียนตัวเลขที่สั้นกว่า แต่ต้องใช้หลักที่แตกต่างกัน 10 หลักในการเขียน ฐานe จึงเป็นฐานที่สมดุลระหว่างสองฐานนี้ จึงสามารถจัดเก็บตัวเลขได้อย่างเหมาะสมที่สุด
ฐาน π
ฐานπสามารถใช้เพื่อแสดงความสัมพันธ์ระหว่างเส้นผ่านศูนย์กลางของวงกลมกับเส้นรอบวง ได้ง่ายขึ้น ซึ่งสอดคล้องกับเส้นรอบรูปเนื่องจากเส้นรอบวง = เส้นผ่านศูนย์กลาง × π ดังนั้นวงกลมที่มีเส้นผ่านศูนย์กลาง1πจะมีเส้นรอบวง 10π วงกลมที่มีเส้นผ่านศูนย์กลาง 10π จะมีเส้นรอบวง 100π เป็นต้นนอกจากนี้ เนื่องจากพื้นที่ = π × รัศมี2ดังนั้นวงกลมที่มีรัศมี 1π จะมีพื้นที่ 10π วงกลม ที่ มีรัศมี 10π จะมีพื้นที่ 1000π และวงกลมที่มีรัศมี 100π จะมีพื้นที่100000π [ 5 ]
คุณสมบัติ
ในระบบเลขตำแหน่งทุกระบบ ไม่ใช่ว่าทุกจำนวนจะถูกแสดงออกมาอย่างเฉพาะเจาะจงเสมอไป ตัวอย่างเช่น ในฐาน 10 จำนวน 1 มีสองรูปแบบ คือ 1.000... และ0.999...เซตของจำนวนที่มีสองรูปแบบที่แตกต่างกันนั้นมีความหนาแน่นในจำนวนจริง[ 6 ]แต่คำถามเกี่ยวกับการจำแนกจำนวนจริงที่มี การขยาย β ที่ไม่ซ้ำกัน นั้นมีความซับซ้อนมากกว่าฐานจำนวนเต็มมาก[ 7 ]
ปัญหาอีกประการหนึ่งคือการจำแนกจำนวนจริงที่มีการขยายβ เป็นคาบ ให้ β > 1 และQ ( β ) เป็นส่วนขยายฟิลด์ ที่เล็กที่สุด ของจำนวนตรรกยะที่มีβ อยู่ ดังนั้นจำนวนจริงใดๆ ใน [0,1) ที่มีการ ขยาย β เป็นคาบ จะต้องอยู่ในQ ( β ) ในทางกลับกันข้อความ กลับกัน ไม่จำเป็นต้องเป็นจริง ข้อความกลับกันเป็นจริงหากβเป็นจำนวน Pisot [ 8 ] แม้ว่าเงื่อนไขที่จำเป็นและเพียงพอ จะยังไม่เป็นที่ทราบ
ดูเพิ่มเติม
- ตัวเข้ารหัสเบต้า
- ระบบตัวเลขตำแหน่งที่ไม่เป็นมาตรฐาน
- การขยายทศนิยม
- ซีรี่ส์พาวเวอร์
- ระบบการนับของออสโตรฟสกี
อ่านเพิ่มเติม
- Sidorov, Nikita (2003), "พลวัตเชิงเลขคณิต", ใน Bezuglyi, Sergey; Kolyada, Sergiy (บรรณาธิการ), หัวข้อในพลวัตและทฤษฎีเออร์โกดิก บทความสำรวจและหลักสูตรย่อยที่นำเสนอในการประชุมนานาชาติและการประชุมเชิงปฏิบัติการร่วมระหว่างสหรัฐอเมริกาและยูเครนเกี่ยวกับระบบพลวัตและทฤษฎีเออร์โกดิก, Katsiveli, ยูเครน, 21–30 สิงหาคม 2000 , Lond. Math. Soc. Lect. Note Ser., เล่มที่ 310, Cambridge: Cambridge University Press , หน้า 145–189 , ISBN 978-0-521-53365-2, Zbl 1051.37007
ลิงก์ภายนอก
- ไวส์สไตน์, เอริค ดับเบิลยู. "ฐาน" . แมธเวิลด์ .
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ฐานการนับที่ไม่ใช่จำนวนเต็ม
การแสดงผลแบบไม่ใช้จำนวนเต็มใช้ตัวเลข ที่ไม่ใช่ จำนวนเต็ม เป็น ฐานหรือรากฐานของระบบตัวเลขแบบตำแหน่งสำหรับฐานที่ไม่ใช่จำนวนเต็มβ > 1 ค่าของ
การก่อสร้าง
การขยาย เบตา (β -expansion) เป็นการขยายทั่วไปของ การขยายทศนิยม ในขณะที่การขยายทศนิยมอนันต์ไม่เป็นเอกลักษณ์ (ตัวอย่างเช่น 1.000... = 0.999...
การแปลง
เมื่อทำตามขั้นตอนข้างต้น เราสามารถสร้าง การขยาย β สำหรับจำนวนจริงได้(ขั้นตอนเหมือนกันสำหรับ an แม้ว่า n จะต้องถูกคูณด้วยก่อนก็ตาม) n ≥ 0 {\displaystyle n\geq 0} n < 0 {\displaystyle n<0} −1 เพื่อให้ได้ค่าบวก จากนั้นผลลัพธ์จะต้องถูกคูณด้วย -1...
ตัวอย่างโค้ดการใช้งาน
ฐาน π JavaScript : [ 3 ] ฟังก์ชัน toBasePI ( num , precision = 8 ) { let k = Math . floor ( Math . log ( num ) / Math . log ( Math . PI )) + 1 ; if ( k ( -1 * precision ) - 1 ; i-- ) { let digit = Math.floor ( ( num / Math.pow ( Math.PI , i ) ) % Math.