การใช้เลขคณิตจุดคงที่สามารถเหมาะสมภายใต้สถานการณ์บางอย่าง โดยทั่วไปสำหรับการคำนวณทางวิทยาศาสตร์ (อย่างน้อยก็ในแง่ที่ว่าคนส่วนใหญ่คิดว่ามัน) มันไม่เหมาะสมเนื่องจากความต้องการในการแสดงช่วงไดนามิกขนาดใหญ่ที่พบ คุณพูดถึงปัญหาค่าลักษณะเฉพาะเป็นตัวอย่าง แต่บ่อยครั้งในด้านวิทยาศาสตร์หนึ่งมีความสนใจในค่าลักษณะเฉพาะที่เล็กที่สุดของเมทริกซ์ (พูดในการคำนวณสถานะพื้นของระบบควอนตัม) ความถูกต้องของค่าลักษณะเฉพาะขนาดเล็กโดยทั่วไปจะเสื่อมโทรมค่อนข้างสัมพันธ์กับค่าลักษณะเฉพาะขนาดใหญ่ถ้าคุณใช้จุดคงที่ หากเมทริกซ์ของคุณมีรายการที่แตกต่างกันไปตามอัตราส่วนขนาดใหญ่ค่าลักษณะเฉพาะขนาดเล็กอาจไม่สามารถแสดงออกได้อย่างสมบูรณ์ในความแม่นยำในการทำงาน นี่เป็นปัญหาของการแทนตัวเลข ข้อโต้แย้งเหล่านี้ค้างไว้ไม่ว่าคุณจะทำการคำนวณระดับกลางอย่างไร คุณสามารถหาอัตราส่วนเพื่อนำไปใช้กับผลลัพธ์ที่คำนวณได้ แต่ตอนนี้คุณเพิ่งประดิษฐ์จุดลอยตัว มันง่ายที่จะสร้างเมทริกซ์ซึ่งองค์ประกอบมีความประพฤติดี แต่ค่าลักษณะเฉพาะมีคุณภาพต่ำ (เช่นเมทริกซ์ของ Wilkinsonหรือเมทริกซ์ที่มีจำนวนเต็มทั้งหมด ) ตัวอย่างเหล่านี้ไม่ได้เป็นพยาธิสภาพอย่างที่พวกเขาอาจจะเห็นและปัญหามากมายที่ขอบของวิทยาศาสตร์ที่เกี่ยวข้องกับการฝึกอบรมที่มีพฤติกรรมแย่มากดังนั้นการใช้จุดคงที่ในบริบทนี้คือแนวคิดที่ไม่ดี (TM)
คุณอาจโต้แย้งว่าคุณรู้ขนาดของผลลัพธ์และคุณไม่ต้องการเสียบิตในการยกกำลังดังนั้นเรามาพูดถึงตัวกลาง โดยทั่วไปการใช้จุดคงที่จะทำให้ผลกระทบรุนแรงจากการยกเลิกและหายนะรุนแรงขึ้นหากคุณไม่ได้ใช้ความเจ็บปวดอย่างหนักเพื่อการทำงานที่แม่นยำยิ่งขึ้น โทษของประสิทธิภาพจะมีขนาดใหญ่มากและฉันก็คาดเดาได้ว่าการใช้จุดลอยตัวที่มีความกว้างบิตแมนทิสซาเดียวกันจะเร็วขึ้นและแม่นยำยิ่งขึ้น
พื้นที่หนึ่งที่จุดคงที่สามารถส่องแสงได้ในบางพื้นที่ของการคำนวณทางเรขาคณิต โดยเฉพาะอย่างยิ่งถ้าคุณต้องการเลขคณิตที่แน่นอนหรือรู้ช่วงไดนามิกของตัวเลขทั้งหมดล่วงหน้าจุดคงที่จะช่วยให้คุณใช้ประโยชน์จากบิตทั้งหมดในการเป็นตัวแทนของคุณ ตัวอย่างเช่นสมมติว่าคุณต้องการคำนวณจุดตัดของสองบรรทัดและจุดสิ้นสุดของสองบรรทัดนั้นถูกทำให้เป็นมาตรฐานเพื่อให้อยู่ในหน่วยสี่เหลี่ยม ในกรณีนี้จุดตัดสามารถแสดงด้วยบิตของความแม่นยำมากกว่าการใช้หมายเลขจุดลอยตัวที่เท่ากัน (ซึ่งจะทำให้เศษบิตบนเลขชี้กำลัง) ตอนนี้ก็เป็นกรณีที่ตัวเลขกลางที่จำเป็นในการคำนวณนี้ต้องได้รับการคำนวณเพื่อความแม่นยำที่สูงขึ้นหรืออย่างน้อยก็ทำอย่างระมัดระวังมาก (เช่นเมื่อแบ่งผลิตภัณฑ์ของตัวเลขสองตัวด้วยตัวเลขอื่นคุณจะต้องระมัดระวังให้มาก ) ในแง่นี้จุดคงที่จะได้รับประโยชน์มากกว่าจากมุมมองการเป็นตัวแทนมากกว่าจุดยืนการคำนวณและฉันจะบอกว่านี่เป็นความจริงโดยทั่วไปเมื่อคุณสามารถสร้างขอบเขตบนและล่างที่แน่นอนในช่วงไดนามิกของอัลกอริทึมของคุณ . สิ่งนี้เกิดขึ้นน้อยมาก
ฉันเคยคิดว่าการเป็นตัวแทนจุดลอยตัวนั้นเป็นเรื่องหยาบหรือไม่ถูกต้อง (ทำไมเศษบิตบนเลขชี้กำลัง?!) แต่เมื่อเวลาผ่านไปฉันได้ตระหนักว่ามันเป็นหนึ่งในตัวแทนที่ดีที่สุดที่เป็นไปได้สำหรับจำนวนจริง สิ่งต่าง ๆ ในธรรมชาติปรากฏบนเครื่องชั่งล็อกดังนั้นข้อมูลจริงจึงสิ้นสุดลงด้วยการยกกำลังจำนวนมาก นอกจากนี้เพื่อให้ได้ความแม่นยำสัมพัทธ์สูงสุดที่เป็นไปได้จำเป็นต้องทำงานบนเครื่องชั่งบันทึกทำให้การติดตามเลขชี้กำลังเป็นธรรมชาติมากขึ้น คู่แข่งเท่านั้นอื่น ๆ สำหรับการแสดง "ธรรมชาติ" เป็นดัชนีระดับสมมาตร อย่างไรก็ตามการเพิ่มและการลบนั้นช้ากว่ามากในการนำเสนอนั้นและขาดการสนับสนุนฮาร์ดแวร์ของ IEEE 754 จำนวนความคิดที่มากมายได้ถูกนำไปใช้ในมาตรฐานจุดลอยตัวโดยเสาของพีชคณิตเชิงเส้นเชิงตัวเลข ฉันคิดว่าเขารู้ว่าตัวเลขที่ถูกต้องคืออะไร