JavaScript BigInt
- পূর্ববর্তী পৃষ্ঠা জেএস ডিজিটাল
- পরবর্তী পৃষ্ঠা জেএস ডিজিটাল মেথড
জেভাস্ক্রিপ্ট BigInt ভেক্টর বড় সংখ্যাকে সংরক্ষণ করার জন্য ব্যবহৃত হয় যা সাধারণ জেভাস্ক্রিপ্ট নাম্বরের মাধ্যমে প্রকাশ করা যায় না
জেভাস্ক্রিপ্ট সংখ্যা পরিমাণ
জেভাস্ক্রিপ্ট সংখ্যা 15 ডিজিট পর্যন্ত সঠিকভাবে প্রকাশ করতে পারে:
সংখ্যা পরিমাণ
let x = 999999999999999; let y = 9999999999999999;
জেভাস্ক্রিপ্ট-এ, সকল সংখ্যা 64-বিট ফ্লোটিং পয়েন্ট ফরম্যাট (IEEE 754 প্রতিমান) এবং সংরক্ষিত হয়
এই প্রতিমান অনুযায়ী, বড় সংখ্যাগুলি সহজেই পরিমাণহীন হয়
তাই, জেভাস্ক্রিপ্ট শুধুমাত্র নিম্নলিখিত পরিমাণের সংখ্যাকে নিরাপদভাবে প্রকাশ করতে পারে:
- সর্বশীর্ষ 9007199254740991(2৫৩-1)
- সর্বনিম্ন -9007199254740991(-(2৫৩-1))
এই পরিমাণের বেশি সংখ্যার জন্য, সংখ্যা প্রাকৃতিকভাবে পরিমাণহীন হয়
কিভাবে BigInt তৈরি করা যায়
BigInt তৈরির জন্য, সংখ্যার শেষে ডায়ালগ্রাম যোগ করুন n
، অথবা কল করুন BigInt()
ফাংশন:
উদাহরণ 1
let x = 9999999999999999; let y = 9999999999999999n;
উদাহরণ 2
let x = 1234567890123456789012345n; let y = BigInt(1234567890123456789012345);
BigInt: একটি নতুন জেভাস্ক্রিপ্ট ডাটা টাইপ
BigInt-এর জেভাস্ক্রিপ্ট টাইপ "bigint
“:”
ইনস্ট্যান্স
let x = BigInt(999999999999999); let type = typeof x;
BigInt জেভাস্ক্রিপ্ট-এর দ্বিতীয় নম্বর ডাটা টাইপ (Number-এর পরে)।
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;
প্রেসিশন কুরিওসিটি
রাশির করা হলে প্রোগ্রামের নিরাপত্তা হতে পারে:
MAX_SAFE_INTEGER ইনস্ট্যান্স
9007199254740992 === 9007199254740993; // তৃতীয় পদ সত্য!
ব্রাউজার সমর্থন
2020 সালের ৯ই সেপ্টেম্বর থেকে, সমস্ত ব্রাউজারকে �BigInt সমর্থন করে:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 67 | Edge 79 | Firefox 68 | Safari 14 | Opera 54 |
2018 সালের ৫ই মে | 2020 সালের ১লা জানুয়ারি | 2019 সালের ৭ই জুলাই | 2020 সালের ৯ই সেপ্টেম্বর | 2018 সালের ৬ই জুন |
ন্যূনতম এবং সর্বমান্য নিরাপদ সংখ্যা
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 ওবজেক্টকে দুটো নতুন পদ্ধতি যুক্ত করেছে:
Number.isInteger()
Number.isSafeInteger()
Number.isInteger() মথড়
যদি পারামিটার সংখ্যা হয়, তবে Number.isInteger() মথড় ফলাফল দেয় true
.
isInteger() ইনস্ট্যান্স
Number.isInteger(10); Number.isInteger(10.5);
Number.isSafeInteger() মথড়
নিরাপদ সংখ্যা হল যা ডবল প্রেসিশন সংখ্যা হিসাবে সঠিকভাবে প্রকাশ করা যেতে পারে
যদি পারামিটার নিরাপদ সংখ্যা হয়, তবে Number.isSafeInteger() মথড় ফলাফল দেয় true
.
isSafeInteger() ইনস্ট্যান্স
Number.isSafeInteger(10); Number.isSafeInteger(12345678901234567890);
নিরাপদ সংখ্যা হল যা -(২৫৩ - ১) ৫২ থেকে + (২৫৩ - ১) সকল সংখ্যা
এটি একটি নিরাপদ সংখ্যা: 9007199254740991।এটি একটি নিরাপদ সংখ্যা নয়: 9007199254740992।
- পূর্ববর্তী পৃষ্ঠা জেএস ডিজিটাল
- পরবর্তী পৃষ্ঠা জেএস ডিজিটাল মেথড