TOP > カテゴリ > JavaScript >

JavaScriptの整数は64bitに対応していない[検証]

JavaScriptの整数は仕様では最大53bitまで対応しています。IE11/Chrome/FireFoxの各ブラウザで検証してみました。

53bitの検証

次のコードで50bitから55bitまでの値を設定して検証しました。

  var hoge = 1125899906842623 // 50bit;
  console.log(hoge);

50bit
元の値1125899906842623
IE111125899906842623
Chrome1125899906842623
FireFox1125899906842623

51bit
元の値2251799813685247
IE112251799813685247
Chrome2251799813685247
FireFox2251799813685247

52bit
元の値4503599627370495
IE114503599627370495
Chrome4503599627370495
FireFox4503599627370495

53bit
元の値9007199254740991
IE119007199254740991
Chrome9007199254740991
FireFox9007199254740991

54bit
元の値18014398509481983
IE1118014398509481984
Chrome18014398509481984
FireFox18014398509481984

55bit
元の値36028797018963967
IE1136028797018963970
Chrome36028797018963970
FireFox出力されず。以後、console.logが正常に動作しなくなる。(バグ?)

この検証から53bitまではどのブラウザでも正常に動作します。55bit以降はブラウザによって挙動が異なるようです。ただ、FireFoxはバグかも知れません。





関連記事



公開日:2016年08月13日
記事NO:02124