30
วิธีที่มีประสิทธิภาพมากที่สุดสำหรับการเปรียบเทียบแบบลอยและแบบคู่คืออะไร
อะไรจะเป็นวิธีที่มีประสิทธิภาพมากที่สุดในการเปรียบเทียบค่าdoubleสองหรือสองfloatค่า การทำเช่นนี้ไม่ถูกต้อง: bool CompareDoubles1 (double A, double B) { return A == B; } แต่สิ่งที่ชอบ: bool CompareDoubles2 (double A, double B) { diff = A - B; return (diff < EPSILON) && (-diff < EPSILON); } ดูเหมือนว่าการแปรรูปขยะ ไม่มีใครรู้ว่าเครื่องมือเปรียบเทียบที่ชาญฉลาดกว่านี้คือใคร?