Rumah >hujung hadapan web >tutorial js >Apakah JavaScript Integer Tertinggi Yang Boleh Diwakili Tanpa Kehilangan Ketepatan?
Nilai Integer Tertinggi JavaScript Tanpa Kehilangan Ketepatan
Keupayaan JavaScript untuk mewakili integer dibatasi oleh perwakilan nombor dalam bahasa.
Nombor Taip
Jenis Nombor di mana-mana dalam JavaScript ialah nombor titik terapung 64-bit berdasarkan IEEE 754. Nilai kamiran tepat terbesar yang boleh diwakili oleh jenis ini tanpa kehilangan ketepatan ialah Number.MAX_SAFE_INTEGER.
2<sup>53</sup> - 1 = 9,007,199,254,740,991
Jenis BigInt
Untuk integer lebih besar daripada Number.MAX_SAFE_INTEGER, JavaScript menyediakan jenis BigInt, yang tidak mempunyai sempadan atas.
Operator Bidik Mata
Perhatikan bahawa operator bitwise dan operator shift beroperasi pada 32- integer bit, menghasilkan peti keselamatan maksimum yang berbeza integer:
2<sup>31</sup> - 1 = 2,147,483,647
Perbandingan
Integer selamat (yang di bawah Nombor.MAX_SAFE_INTEGER) boleh dibandingkan dengan betul menggunakan operator kesaksamaan:
const x = 9007199254740992; const y = -x; console.log(x == x + 1); // true console.log(y == y - 1); // true
Walau bagaimanapun, perbandingan integer lebih besar daripada Number.MAX_SAFE_INTEGER mungkin menghasilkan keputusan yang tidak dijangka.
Key Takeaway
Untuk perwakilan tepat dan perbandingan integer besar, gunakan BigInt. Untuk integer yang lebih kecil, jenis Nombor adalah mencukupi, tetapi ketahui nilai integer selamat maksimum untuk operasi bitwise.
Atas ialah kandungan terperinci Apakah JavaScript Integer Tertinggi Yang Boleh Diwakili Tanpa Kehilangan Ketepatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!