BigInt JavaScript
- صفحه پچھلے نمبر جسٹاگرافیک
- صفحه بعد طریقہ جسٹاگرافیک نمبر
دروس سفارش:
جاوااسکریپت BigInt متغیر، بہت زیادہ بڑے اعداد کو محفوظ رکھنے کے لئے استعمال کئے جاتا ہے جو عوامي جاوااسکریپت نمبروں کے ذریعے نمائش ناکارگر ہوتا ہو
جاوااسکریپت صحیح عدد کی دقت
جاوااسکریپت کا صحیح عدد کا بہت زیادہ دقت کا حصول ممکن نہیں ہوتا، وہاں تک 15 دوسرے جنسوں کا استعمال کیاجاسکتا ہے
صحیح عدد کی دقت لیٹائن x = 999999999999999;
لیٹائن y = 9999999999999999;
جاوااسکریپت میں، تمام اعداد 64 بیٹ فلوٹ فورمت (IEEE 754 معیار) میں ذخیرہ کئے جاتے ہیں
اس معیار کے مطابق، بگائنٹ کی دقت کی تعین نہیں کی جاسکتی، جبکہ چورس وادی کی گنجائش میں رکھی جاسکتی ہے
- بہت زیادہ 9007199254740991(253-1)
- کم از کم -9007199254740991-(253-1) )
اس دوسرے دائرے کے بغیر کا مجموعہ کا جو بھی کیوئی صحیح عدد کا استعمال نکالنا میمکن ہوگا
bigint کا قیام کرسکتا ہے
bigint کا استعمال کریں تاکہ BigInt قائم کیا جاسکے ن
، یا فراخ دینا BigInt()
فنکشن:
مثال 1
لیٹائن x = 9999999999999999; let y = 9999999999999999ن;
مثال 2
let x = 1234567890123456789012345ن; لیٹائن y = BigInt(1234567890123456789012345);
BigInt: ایک نئی جاوااسکریپت جنس
BigInt کا جاوااسکریپت کا جنسبگائنٹ
مثال
لیٹائن x = BigInt(999999999999999); لیٹائن type = typeof x;
BigInt جاوااسکریپت میں دوسرا عددی جنس ہے (نمبر کے بعد)。
BigInt کے لئے، جاوااسکریپت میں پورائی اعداد کا مجموعہ 8 جنسوں کا ہوتا ہے:
- اسٹرنگ
- نمبر
- بگائنٹ
- بولین
- یونڈیفائنڈ
- نل
- سمبول
- آپجیکٹ
BigInt آپریئر
BigInt کانفرنس کا آپریئر کانفرنس بھی استعمال کئے جاسکتا ہے。
BigInt کانفرنس مثال
let x = 9007199254740995n; let y = 9007199254740995n; let z = x * y;
注意
不允许在 BigInt 和 Number 之间进行算术运算(类型转换会丢失信息)。
BigInt 无法进行无符号右移操作(>>>),因为它没有固定的宽度。
BigInt 小数
BigInt 不能有小数。
BigInt 除法实例
let x = 5n; let y = x / 2; // Error: Cannot mix BigInt and other types, use explicit conversion.
let x = 5n; let y = Number(x) / 2;
BigInt 十六进制、八进制和二进制
BigInt 也可以写成十六进制、八进制或二进制表示法:
BigInt 十六进制实例
let hex = 0x20000000000003n; let oct = 0o400000000000000003n; let bin = 0b100000000000000000000000000000000000000000000000000011n;
Precision Curiosity
舍入可能会危及程序安全:
MAX_SAFE_INTEGER مثال
9007199254740992 === 9007199254740993; // 为 true !!!
浏览器支持
自 2020 年 9 月以来,所有浏览器都支持 BigInt:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 67 | Edge 79 | Firefox 68 | Safari 14 | Opera 54 |
2018 年 5 月 | 2020 年 1 月 | 2019 年 7 月 | 2020 年 9 月 | 2018 年 6 月 |
最小和最大安全整数
ES6 向 Number 对象添加了 max 和 min 属性:
MAX_SAFE_INTEGER
MIN_SAFE_INTEGER
MAX_SAFE_INTEGER مثال
let x = Number.MAX_SAFE_INTEGER;
MIN_SAFE_INTEGER مثال
let x = Number.MIN_SAFE_INTEGER;
نئی نمبر طویل کارکردگیاں
ES6 نے نمبر اپنائیں دو نئی طویل کارکردگیاں اضافہ کیں:
Number.isInteger()
Number.isSafeInteger()
طریقہ Number.isInteger()
اگر پارامتر ایک صحیح عدد ہے تو Number.isInteger() طریقہ کار واپس کردار آتا ہے حق
.
مثال isInteger()
Number.isInteger(10); Number.isInteger(10.5);
طریقہ Number.isSafeInteger()
اعداد صحیح جو دوبل پرجیسی صحت سے نمائش کرسکتے ہیں، صحیح اعداد ہیں
اگر پارامتر ایک صحیح عدد ہے تو Number.isSafeInteger() طریقہ کار واپس کردار آتا ہے حق
.
مثال isSafeInteger()
Number.isSafeInteger(10); Number.isSafeInteger(12345678901234567890);
اعداد صحیح -(2 سے آگے53 -1) تک +(253 تمام اعداد -1) کا。
یہ ایک عدد ہے: 9007199254740991۔ یہ ایک عدد نہیں ہے: 9007199254740992۔
- صفحه پچھلے نمبر جسٹاگرافیک
- صفحه بعد طریقہ جسٹاگرافیک نمبر