นี่เป็นสิ่งที่อยู่ในความคิดของฉันมาหลายปีแล้ว แต่ฉันไม่เคยใช้เวลาถามมาก่อน
เครื่องกำเนิดตัวเลขสุ่ม (หลอก) จำนวนมากสร้างตัวเลขสุ่มระหว่าง 0.0 ถึง 1.0 ในทางคณิตศาสตร์มีจำนวนอนันต์ในช่วงนี้ แต่double
เป็นจำนวนจุดลอยตัวดังนั้นจึงมีความแม่นยำ จำกัด
ดังนั้นคำถามคือ:
- มีกี่
double
ตัวเลขระหว่าง 0.0 ถึง 1.0? - มีจำนวนระหว่าง 1 ถึง 2 หรือไม่? ระหว่าง 100 ถึง 101? ระหว่าง 10 ^ 100 ถึง 10 ^ 100 + 1?
หมายเหตุ: ถ้ามันสร้างความแตกต่างฉันสนใจคำจำกัดความของ Java เป็นdouble
พิเศษ