ฉันรู้ว่าคำถามดูเหมือนจะแปลก โปรแกรมเมอร์บางครั้งก็คิดมากเกินไป โปรดอ่านต่อ ...
ใน CI ใช้signed
และunsigned
จำนวนเต็มมาก ฉันชอบข้อเท็จจริงที่ว่าคอมไพลเลอร์เตือนฉันหากฉันทำสิ่งต่างๆเช่นการกำหนดจำนวนเต็มที่เซ็นชื่อให้กับตัวแปรที่ไม่ได้ลงชื่อ ฉันได้รับคำเตือนหากเปรียบเทียบเซ็นกับจำนวนเต็มที่ไม่ได้ลงชื่อและอื่น ๆ อีกมากมาย
ฉันชอบคำเตือนเหล่านี้ พวกเขาช่วยฉันรักษารหัสของฉันให้ถูกต้อง
ทำไมเราไม่มีความหรูหราเหมือนกันสำหรับลอย? รากที่สองจะไม่ส่งกลับจำนวนลบอย่างแน่นอน มีสถานที่อื่น ๆ เช่นกันที่ค่าการลอยตัวเชิงลบไม่มีความหมาย ตัวเลือกที่สมบูรณ์แบบสำหรับการลอยตัวที่ไม่ได้ลงนาม
Btw - ฉันไม่ค่อยสนใจเกี่ยวกับความแม่นยำพิเศษเพียงเล็กน้อยที่ฉันจะได้รับโดยการลบบิตเครื่องหมายออกจากโฟลต ฉันมีความสุขมากกับfloat
พวกเขาในขณะนี้ ฉันแค่อยากจะทำเครื่องหมายลอยว่าไม่ได้ลงนามในบางครั้งและรับคำเตือนแบบเดียวกับที่ฉันได้รับจากจำนวนเต็ม
ฉันไม่ทราบภาษาโปรแกรมใด ๆ ที่รองรับตัวเลขทศนิยมที่ไม่ได้ลงชื่อ
มีความคิดว่าทำไมพวกเขาถึงไม่มี?
แก้ไข:
ฉันรู้ว่า x87 FPU ไม่มีคำแนะนำในการจัดการกับการลอยตัวที่ไม่ได้ลงชื่อ ให้ใช้คำแนะนำลอยที่ลงนาม การใช้ผิดประเภท (เช่นต่ำกว่าศูนย์) อาจถือได้ว่าเป็นพฤติกรรมที่ไม่ได้กำหนดในลักษณะเดียวกับที่ไม่มีการกำหนดจำนวนเต็มที่มีการลงนามมากเกินไป