[解決済み] JavaScriptで、数値が精度を失うことなく到達できる最も高い整数値は何ですか?
質問内容
これは言語によって定義されているのでしょうか?最大値は決まっているのでしょうか?ブラウザによって違うのですか?
解決方法は?
JavaScriptには2つの数値型があります。
Number
と
BigInt
.
最も使用頻度の高い数値の種類です。
Number
は、64ビット浮動小数点
IEEE 754
の数です。
この型の最大の正確な積分値は
Number.MAX_SAFE_INTEGER
である。
- 2 53 -1、または
- +/- 9,007,199,254,740,991, または
- 9兆7,000億円 19兆9,000億円 2兆5,400万円 7兆4,000万円 9兆9,000万円
ちなみに、1兆バイトはペタバイト(1,000テラバイト)に相当します。
ここでいう「安全」とは、整数を正確に表現し、正しく比較する能力のことである。
ただし,正負の整数で,その大きさが 2より大きい 53 で表現可能です。
Number
型(実際 整数0は+0と-0の2つの表現がある)。
これより大きな整数を安全に使うには
BigInt
であり、上限がない。
ビット演算子やシフト演算子は32ビット整数を操作するので、その場合、安全な整数の最大値は2であることに注意してください。 31 -1、つまり2,147,483,647です。
const log = console.log
var x = 9007199254740992
var y = -x
log(x == x + 1) // true !
log(y == y - 1) // also true !
// Arithmetic operators work, but bitwise/shifts only operate on int32:
log(x / 2) // 4503599627370496
log(x >> 1) // 0
log(x | 1) // 1
9,007,199,254,740,992という数値に関する技術的なメモ:この値には正確なIEEE-754表現があり、この値を変数に代入したり読み出したりできるので、たとえば くれぐれも この値以下の整数の領域で選択されたアプリケーションでは、この値を最大値として扱うことができます。
一般に、このIEEE-754の値は、論理値9,007,199,254,740,992を符号化しているのか、9,007,199,254,740,993を符号化しているのかあいまいなため、不正確として扱う必要があります。
関連
-
[解決済み] テスト
-
JavaScriptのgetElementById、getElementsByTagNam、getElementsByClassNameの違いと使い方
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] ブラウザによって異なるURLの最大長とは?
-
[解決済み] GUID / UUIDの作成方法
-
[解決済み] Webフォームのフィールド/入力タグでブラウザのオートコンプリートを無効にするにはどうすればよいですか?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み】なぜHTMLは "chucknorris "を色と見なすのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vue3レスポンシブ対応のためのsetup+ref+reactive
-
親子コンポーネント通信を解決する3つのVueスロット
-
Vueがechartsのtooltipにクリックイベントを追加するケーススタディ
-
JSアレイループと効率解析の比較
-
Vueはランニングライト形式のテキストを水平方向にスクロールする機能を実装している
-
vueのグローバルがscss(mixin)を導入。
-
vueの補間表現とv-textディレクティブの違いについて
-
[解決済み】<select>で現在選択されている<option>をJavaScriptで取得するにはどうすればよいですか?
-
[解決済み】「.addEventListener is not a function」なぜこのエラーが発生するのか?
-
フロントエンド null のプロパティ 'disabled' を読み取れない 問題が解決された