ผมอ่านมากคำตอบ แต่ไม่มีดูเหมือนว่าจะอธิบายได้อย่างถูกต้องที่คำว่าคู่มาจาก ฉันจำคำอธิบายที่ดีมากที่อาจารย์มหาวิทยาลัยให้มาเมื่อหลายปีก่อน
การระลึกถึงสไตล์ของคำตอบของ VonC การแสดงจุดลอยตัวที่มีความแม่นยำเพียงอย่างเดียวใช้คำ 32 บิต
- 1 บิตสำหรับเครื่องหมาย S
- 8 บิตสำหรับเลขชี้กำลัง 'E'
- 24 บิตสำหรับเศษส่วนหรือที่เรียกว่าmantissaหรือสัมประสิทธิ์ (แม้ว่าจะมีเพียง 23 แทน) ลองเรียกมันว่า 'M' (สำหรับmantissaฉันชอบชื่อนี้ว่า "เศษส่วน" สามารถเข้าใจผิดได้)
ตัวแทน:
S EEEEEEEE MMMMMMMMMMMMMMMMMMMMMMM
bits: 31 30 23 22 0
(เพียงเพื่อชี้ให้เห็นว่าบิตการลงชื่อเป็นครั้งสุดท้ายไม่ใช่ครั้งแรก)
การแสดงจุดทศนิยมที่มีความแม่นยำสองเท่าใช้คำ 64 บิต
- 1 บิตสำหรับเครื่องหมาย S
- 11 บิตสำหรับเลขชี้กำลัง 'E'
- 53 บิตสำหรับเศษส่วน / แมนทิสซา / ค่าสัมประสิทธิ์ (แม้ว่าจะแสดงเพียง 52 ค่า), 'M'
ตัวแทน:
S EEEEEEEEEEE MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
bits: 63 62 52 51 0
อย่างที่คุณอาจสังเกตเห็นว่าฉันเขียนว่าmantissaมีข้อมูลทั้งสองประเภทมากขึ้นเมื่อเทียบกับการเป็นตัวแทน ในความเป็นจริง mantissa เป็นจำนวนที่แสดงโดยไม่มีนัยสำคัญ0
ทั้งหมด ตัวอย่างเช่น,
- 0.000124 กลายเป็น 0.124 × 10 −3
- 237.141 กลายเป็น 0.237141 × 10 3
ซึ่งหมายความว่าแมนทิสซาจะอยู่ในรูปแบบเสมอ
0.α 1 α 2 ... α t ×β p
โดยที่βเป็นฐานของการเป็นตัวแทน แต่เนื่องจากเศษส่วนเป็นเลขฐานสองα 1จะเท่ากับ 1 เสมอดังนั้นเศษส่วนสามารถเขียนใหม่เป็น1.α 2 α 3 ... α t + 1 × 2 pและ 1 เริ่มต้นสามารถสันนิษฐานได้โดยปริยาย ทำห้องสำหรับบิตพิเศษ (α t + 1 )
เห็นได้ชัดว่ามันเป็นความจริงที่ว่า double ของ 32 คือ 64 แต่นั่นไม่ใช่คำที่มาจากไหน
แม่นยำระบุจำนวนตัวเลขทศนิยมที่มีที่ถูกต้องคือไม่มีชนิดของข้อผิดพลาดเป็นตัวแทนหรือประมาณใด ๆ ในคำอื่น ๆ ก็แสดงตัวเลขทศนิยมหลายวิธีที่หนึ่งได้อย่างปลอดภัยการใช้งาน
ด้วยที่กล่าวว่ามันง่ายที่จะประมาณจำนวนทศนิยมที่สามารถใช้งานได้อย่างปลอดภัย:
- ความแม่นยำเดียว : บันทึก10 (2 24 ) ซึ่งประมาณ 7 ถึง 8 หลักทศนิยม
- ความแม่นยำสองเท่า : บันทึก10 (2 53 ) ซึ่งประมาณ 15 ถึง 16 หลักทศนิยม