この記事は最終更新日から1年以上が経過しています。
大きい値を扱っていたところ計算がめちゃくちゃになったんで、浮動小数点演算的にダメなんだろうなーと思って調べたところ
MAX_SAFE_INTEGER 定数は 9007199254740991 である値です。その数である理由は JavaScript が IEEE 754 で指定されたとおり倍精度浮動小数点型数値を使用し安全に -(2^53 – 1) と 2^53 – 1 との間の数を表すことができるからです。
とめちゃめちゃ少なかったです。
C#などでよくある、最大数を示す定数にMAX_VALUEというものがあり
coffee> Number.MAX_VALUE 1.7976931348623157e+308 |
っていうのをよく使うんですが、MAX_SAFE_INTEGERだと
coffee> Number.MAX_SAFE_INTEGER 9007199254740991 |
と出ます。
coffee> 9007199254740990 9007199254740990 coffee> 9007199254740990 + 1 9007199254740991 coffee> 9007199254740990 + 2 9007199254740992 coffee> 9007199254740990 + 3 9007199254740992 coffee> 9007199254740990 + 4 9007199254740994 coffee> 9007199254740990 + 5 9007199254740996 |
とのことで、9000兆円欲しい!の際にはご注意ください。
この記事を書いた人
- 和服とvapeとСистемаと醗酵とたまごふわふわとカッティングシェイプスとジャージークラブとjuke/fwkに傾倒する人です
最近書いた記事
- 2019.10.17ES2019で追加されたあれこれを使ってみる
- 2019.09.20JavaScript で安全に扱える最大整数
- 2019.07.24Gitでハッシュ値指定が重複したらどうなるのか
- 2019.07.09ハッシュは何に使えるのか