Skip to main content

คณิตศาสตร์ล้นคืออะไร?

การคำนวณทางคณิตศาสตร์เป็นเงื่อนไขที่เกิดขึ้นในคอมพิวเตอร์โดยเฉพาะอย่างยิ่งในพื้นที่ของการเขียนโปรแกรมคอมพิวเตอร์เมื่อการคำนวณหรือการดำเนินการให้ผลลัพธ์ที่มีขนาดใหญ่เกินไปสำหรับระบบจัดเก็บข้อมูลหรือลงทะเบียนเพื่อจัดการOverflow ยังสามารถอ้างถึงจำนวนเงินด้วยผลลัพธ์ที่กำหนดเกินหน่วยความจำที่กำหนดไว้สำหรับการจัดเก็บในบางกรณีข้อมูลล้นอาจถูกเก็บไว้ในที่เก็บข้อมูลอื่นในอื่น ๆ มันสามารถทำให้โปรแกรมผิดพลาดทำงานช้าหรือให้ผลลัพธ์ที่ไม่ถูกต้องการคำนวณทางคณิตศาสตร์ไม่ได้ จำกัด อยู่ที่คอมพิวเตอร์ส่วนบุคคลหรือธุรกิจเต็มรูปแบบเนื่องจากเครื่องคิดเลขมือถืออย่างง่ายและอุปกรณ์การสื่อสารยังมีข้อ จำกัด เกี่ยวกับขนาดของค่าที่พวกเขาสามารถจัดการได้

โปรแกรมเมอร์มีแนวโน้มที่จะเรียนรู้วิธีการจัดการกับข้อผิดพลาดของคณิตศาสตร์พวกเขามักจะเป็นข้อผิดพลาดในการเขียนโปรแกรมที่พบบ่อยมากที่จะได้รับมีวิธีการที่แตกต่างกันมากมายสำหรับการส่งคณิตศาสตร์ล้นการออกแบบโปรแกรมมีส่วนสำคัญมากโปรแกรมที่ออกแบบมาอย่างดีซึ่งใช้ประเภทข้อมูลและความยาวที่สอดคล้องและถูกต้องไม่ควรพบข้อผิดพลาดดังกล่าวหากการดูแลที่ดีถูกตรวจสอบลำดับของการดำเนินงานและทำให้ทุกอย่างสอดคล้องกันข้อผิดพลาดล้นสามารถหลีกเลี่ยงได้ทั้งหมด

อีกวิธีหนึ่งในการจัดการกับข้อผิดพลาดทางคณิตศาสตร์ของการคณิตศาสตร์คือการแบ่งการดำเนินงานลงในขั้นตอนที่เล็กลงบ่อยครั้งที่ระบบจะจัดการการดำเนินงานที่ง่ายและง่ายกว่าการดำเนินงานที่ซับซ้อนที่เกี่ยวข้องกับจำนวนมากและการคำนวณที่มากเกินไปเมื่อมันไม่สำคัญอย่างยิ่งที่จำนวนที่ส่งคืนนั้นถูกต้องอย่างสมบูรณ์บางครั้งก็เพียงพอที่จะเขียนโปรแกรมในลักษณะที่แจ้งให้ผู้ใช้ทราบถึงข้อผิดพลาดของการไหลล้น แต่ส่งคืนค่าอย่างไรก็ตามวิธีที่พบบ่อยที่สุดในการจัดการข้อผิดพลาดทางคณิตศาสตร์ล้นคือการเพิกเฉยต่อมันอย่างสมบูรณ์ในขณะที่สิ่งนี้มักจะไม่เป็นอันตราย แต่ก็สามารถให้ผลลัพธ์ที่ไม่ถูกต้องและสามารถประนีประนอมประโยชน์และประสิทธิภาพของโปรแกรม

Ariane 5 Flight 501 แสดงให้เห็นถึงอันตรายของข้อผิดพลาดทางคณิตศาสตร์ที่ชัดเจนเที่ยวบินนี้เป็นการทดสอบครั้งแรกของระบบเปิดตัว European Ariane 5 ที่ใช้งานได้ซึ่งนำรหัสส่วนใหญ่มาใช้ใหม่จากระบบ Ariane 4 เก่าอย่างไรก็ตามการเร่งความเร็วของ Ariane 5 นั้นยิ่งใหญ่กว่า Ariane 4 อย่างมีนัยสำคัญและการเขียนโปรแกรมไม่เพียงพอที่จะจัดการกับค่าที่ต้องการมากขึ้นด้วยเหตุนี้จรวดจึงออกจากเส้นทางการบินที่ตั้งใจไว้ 37 วินาทีหลังจากเปิดตัวและต้องถูกทำลายข้อผิดพลาดการเขียนโปรแกรมง่าย ๆ นี้มีค่าใช้จ่ายหลายร้อยล้านดอลลาร์สหรัฐ