33

奇妙な質問だとは思いますが、JavaScriptには、シングルフロートではなくダブルフロートを処理する機能がありますか?(64ビットフロート対32ビット。)

4

3 に答える 3

37

ECMA-262仕様(ECMAScriptはJavascriptの仕様)によると、セクション8.5:

Numberタイプには、正確に18437736874454810627(つまり、2 64 -2 53 +3)の値があり、IEEE Standard for BinaryFloating-PointArithmeticで指定されている倍精度64ビット形式のIEEE754値を表します。

出典:http ://www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf (PDF)

于 2010-08-31T04:05:04.230 に答える
36

JavaScriptのすべての数値は、64ビット浮動小数点数です。

参照:

http://www.hunlock.com/blogs/The_Complete_Javascript_Number_Reference

http://www.crockford.com/javascript/survey.html

于 2010-08-31T04:02:40.493 に答える
1

javascriptタイプ番号では、IEEE754標準をサポートするfloat64ビット番号であり、Cのdoubleに似ています。また、以下のコマンドで32ビットタイプの配列を作成し、対応するバッファーをバインドすることで各コンポーネントの各バイトを制御できます。

let a = new Float32Array(length);
let b = new Float64Array(length);

ただし、IE9ではサポートされていないことに注意してください。ここではブラウザの互換性テーブルです。

long doubleのような拡張されたpresicionが必要な場合は、 double.jsまたは decimal.jsライブラリを使用できます。

于 2018-09-16T09:47:34.487 に答える