از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
حداکثر و حداقل مقادیر برای اعداد صحیح در جاوا اسکریپت
سرفصلهای مطلب
معرفی
جاوا اسکریپت زبان بسیار انعطاف پذیری است، اما بدون محدودیت نیست. یکی از این محدودیت ها حداکثر و حداقل مقدار صحیح است که می تواند به طور دقیق نمایش داده شود. در این بایت، نوع شماره جاوا اسکریپت، حداکثر و حداقل مقادیر صحیح در جاوا اسکریپت، و اینکه چگونه میتوانید در صورت نیاز این محدودیتها را برطرف کنید، بحث خواهیم کرد.
نوع شماره جاوا اسکریپت
در جاوا اسکریپت، اعداد بهعنوان مقادیر ممیز شناور ۶۴ بیتی ذخیره میشوند IEEE 754 استاندارد این قالب اعداد را در سه قسمت علامت، توان و کسری ذخیره می کند. این فرمت است که به جاوا اسکریپت اجازه می دهد تا طیف بسیار گسترده ای از مقادیر، از بسیار کوچک تا بسیار بزرگ را مدیریت کند.
با این حال، به دلیل روش ذخیره اعداد، محدودیتی برای اندازه یک عدد صحیح وجود دارد که می تواند به طور دقیق نمایش داده شود.
حداکثر مقدار صحیح در جاوا اسکریپت
بزرگترین مقدار انتگرال دقیقی که جاوا اسکریپت می تواند نشان دهد 2^53 – 1 یا 9007199254740991 است. این مقدار در جاوا اسکریپت به صورت تعریف شده است. Number.MAX_SAFE_INTEGER
.
console.log(Number.MAX_SAFE_INTEGER);
// Output: 9007199254740991
توجه داشته باشید: اصطلاح “ایمن” در MAX_SAFE_INTEGER
به توانایی نمایش دقیق اعداد صحیح و مقایسه صحیح آنها اشاره دارد. مثلا، (Number.MAX_SAFE_INTEGER + 1) === Number.MAX_SAFE_INTEGER
بر خواهد گشت true
، زیرا ارزش Number.MAX_SAFE_INTEGER + 1
نمی توان دقیقاً نشان داد و گرد شده است Number.MAX_SAFE_INTEGER
.
حداقل مقدار صحیح در جاوا اسکریپت
به طور مشابه، کوچکترین مقدار انتگرال دقیقی که جاوا اسکریپت می تواند نشان دهد -(2^53 – 1)، یا -9007199254740991 است. این مقدار در جاوا اسکریپت به صورت تعریف شده است Number.MIN_SAFE_INTEGER
.
console.log(Number.MIN_SAFE_INTEGER);
// Output: -9007199254740991
به یاد داشته باشید که این محدودیتها ذاتی روش نمایش اعداد جاوا اسکریپت (و بسیاری از زبانهای دیگر) است. اگر نیاز به کار با اعداد صحیح بزرگتر یا کوچکتر دارید، باید از راه حلی مانند BigInt
نوع، که بعداً در این بایت به طور خلاصه به آن خواهیم پرداخت.
سایر خصوصیات اعداد در جاوا اسکریپت
جاوا اسکریپت چند ویژگی داخلی دیگر را برای کار با اعداد فراهم می کند. برای مثال، Number.MAX_VALUE
بزرگترین عدد قابل نمایش مثبت را که تقریباً 1.8e+308 است را برمی گرداند. از سوی دیگر، Number.MIN_VALUE
کوچکترین عدد قابل نمایش مثبت را می دهد که حدود 5e-324 است.
console.log(Number.MAX_VALUE); // 1.7976931348623157e+308
console.log(Number.MIN_VALUE); // 5e-324
توجه داشته باشید: Number.MIN_VALUE
کمترین عددی نیست که جاوا اسکریپت می تواند انجام دهد. این کوچکترین است مثبت عددی بزرگتر از صفر که جاوا اسکریپت می تواند با دقت نشان دهد.
همچنین وجود دارد Number.POSITIVE_INFINITY
و Number.NEGATIVE_INFINITY
که بیانگر مفاهیم ریاضی بی نهایت مثبت و منفی هستند.
console.log(Number.POSITIVE_INFINITY); // Infinity
console.log(Number.NEGATIVE_INFINITY); // -Infinity
BigInt: جایگزینی برای اعداد صحیح بزرگتر
وقتی با اعداد بزرگتر از Number.MAX_SAFE_INTEGER
، جاوا اسکریپت یک نوع عدد دیگری به نام دارد BigInt
. می تواند اعداد صحیح با طول دلخواه را نشان دهد. آ BigInt
با الحاق ایجاد می شود n
به انتهای یک عدد صحیح یا با فراخوانی BigInt
تابع.
let big = 9007199254740993n;
console.log(big); // 9007199254740993n
big = BigInt(9007199254740993);
console.log(big); // 9007199254740993n
توجه داشته باشید: BigInt
و Number
به طور ضمنی قابل تبدیل نیستند. اگر می خواهید با هم در یک عملیات استفاده کنید، باید آنها را به صورت دستی تبدیل کنید. به خاطر داشته باشید که ممکن است نتوانید a accuratly تبدیل کنید BigInt
به یک Number
با توجه به این واقعیت که می تواند اعداد بسیار بزرگتر از Number
قادر به رسیدگی است.
نتیجه
برای جلوگیری از نتایج غیرمنتظره در محاسبات شما، درک ویژگیهای عدد جاوا اسکریپت، از جمله مقادیر حداکثر و حداقل عدد صحیحی که میتوان به دقت نمایش داد، مهم است. برای مدیریت اعداد صحیح بزرگتر، BigInt
یک جایگزین عالی و داخلی است.
(برچسبها برای ترجمه)# جاوا اسکریپت
منتشر شده در 1402-12-28 10:24:04