Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ค่าจำนวนเต็มสูงสุดของ JavaScript ที่ Number สามารถไปถึงได้โดยไม่สูญเสียความแม่นยำคืออะไร


คำตอบสั้น ๆ :+/- 9007199254740991

ตามข้อกำหนดของ ES6 จำนวนเต็มบวกและจำนวนเต็มลบทั้งหมดที่มีขนาดไม่เกิน 2^53 สามารถแทนได้ในประเภทตัวเลข (แท้จริงแล้ว จำนวนเต็ม 0 มีการแทนค่าสองค่า +0 และ −0) ใน ES6 สิ่งนี้ถูกกำหนดเป็น Number.MAX_SAFE_INTEGER

โปรดทราบว่าตัวดำเนินการระดับบิตและตัวดำเนินการ shift ทำงานบน int แบบ 32 บิต ดังนั้น ในกรณีนี้ จำนวนเต็มที่ปลอดภัยสูงสุดคือ 2^31-1 หรือ 2147483647