ฉันกำลังอ่าน "จุดจบของข้อผิดพลาด - Unum Computing" โดย John Gustafson ( Youtube ) สิ่งที่ฉันยังไม่แน่ใจเกี่ยวกับคือกรณีที่จัดการใน IEEE โดยศูนย์ลบลงนามได้รับการจัดการกับ Unums
ดังนั้นก่อนอื่น unums อนุญาตให้แสดงค่าที่แน่นอนบางอย่าง (คล้ายกับคะแนนลอย) และอนุญาตเพิ่มเติมเพื่อแสดงช่วงเวลาเปิดที่อยู่ระหว่างค่าที่แน่นอน (รวมถึงที่แน่นอน-exact และ∞) ดังนั้นจำนวนจริงทั้งหมดจะถูกแทนด้วยการสลับค่าที่แม่นยำและช่วงเวลาเปิด:
-∞, (-∞, -maxreal), -maxreal, ... -smallsubnormal, (-smallsubnormal, 0),
0,
(0, smallsubnormal), smallsubnormal, ... maxreal, (maxreal, ∞), ∞
ด้วยวิธีนี้ค่าพิเศษ (ตามธรรมเนียม IEEE) เช่นอันเดอร์โฟลว์และโอเวอร์โฟลว์เป็นเพียงช่วงเวลาเปิด ในคำอื่น ๆ : เงื่อนไขพิเศษก่อนหน้านี้ตอนนี้กลายเป็นกรณีปกติ
IEEE's -∞สอดคล้องกับสหภาพของ {-∞} และ (-∞, -maxreal)
และศูนย์ที่เซ็นชื่อตอนนี้อาจเป็นช่วงเวลา (-smallsubnormal, 0) และ (0, smallsubnormal)
อย่างไรก็ตาม 1 / (- smallsubnormal, 0) คือตอนนี้ (-∞, -maxreal) และไม่ใช่-∞เพียงอย่างเดียว โดยที่ 1/0 คือ∞
สิ่งที่ฉันยังคงลังเลเกี่ยวกับเรื่องนี้คือใน IEEE -0 และ +0 เปรียบเทียบเท่ากัน แต่พวกเขาไม่ได้อยู่ใน Unums ดูเหมือนว่าการทำแผนที่ไม่ใช่ 100% ดังนั้นฉันจึงสงสัยว่ามี cornercases ที่อาจแสดงความแตกต่าง ((และถ้ากรณีเหล่านั้นเกี่ยวข้องกันจริงๆ))
(ผมตระหนักถึงทำไมเป็นลบเป็นศูนย์สำคัญหรือไม่ , การใช้ประโยชน์เชิงลบค่าจุดลอย )
guess
) แสดงให้เห็นว่าเราสามารถแปลสิ่งต่าง ๆ ได้อย่างแท้จริง (และเป็นจุดเริ่มต้น) ฉันรู้อย่างเต็มที่ว่าการแปลตามตัวอักษรไม่ได้ใช้ประโยชน์จาก unums อย่างเต็มที่