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 টি:

  1. স্ট্রিং
  2. নাম্বার
  3. বিগাইন্ট
  4. বলুয়েয়ান
  5. ইউনডিফাইনেড
  6. নাল
  7. সিম্বল
  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।