問題タブ [ieee-754]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1286 参照

binary - IEEE 754 仕様 (2 進浮動小数点演算) の 10 進変換範囲

IEEE 754 仕様の 11 ページの下部にあるセクション 5.6 の表 2 には、10 進数から 2 進数への浮動小数点変換を実行する必要がある 10 進数値の範囲がリストされています。指数の範囲は私には意味がありません。たとえば、倍精度の場合、変換可能な最大 10 進数値は (10 17 -1)*10 999であることが表に示されています。これは DBL_MAX よりも大きく、約 1.8*10 308です。明らかに何かが欠けています。誰かがこの表を説明してくれませんか? ありがとう。

0 投票する
4 に答える
2110 参照

python - 2 つのフロート間のフロートの数

2 つの Python floatabがあるとします。IEEE-754 表現 (または使用されているマシンが使用している表現) で 2 つの間に表現可能な実数がいくつあるかを簡単に調べる方法はありますか?

0 投票する
2 に答える
819 参照

language-agnostic - 有限浮動小数点値の場合、x --x == 0であることが保証されていますか?

浮動小数点値は不正確です。そのため、比較で厳密な数値の等式を使用することはめったにありません。たとえば、Javaでは、これは次のように出力されますfalseideone.comで見られるように)。

通常、浮動小数点計算の結果を比較する正しい方法は、ある期待値に対する絶対差が、許容されるイプシロンよりも小さいかどうかを確認することです。

問題は、いくつかの操作が正確な結果をもたらすことができるかどうかについてです。有限でない浮動小数点値x(つまり、NaNまたは無限大)の場合、x - x常に NaNです。

しかし、xが有限である場合、これのいずれかが保証されますか?

  1. x * -1 == -x
  2. x - x == 0

(特に私はJavaの動作に最も興味がありますが、他の言語についての議論も歓迎します。)


それが価値があることについては、私は(そして私はここで間違っているかもしれませんが)答えはイエスだと思います!有限のIEEE-754浮動小数点値に対して、その反数が常に正確に計算可能であるかどうかに要約すると思います。たとえば、符号専用のビットが1つあるのでfloatこれdoubleが当てはまるようです。これは、反数を見つけるために符号ビットを反転するだけでよいためです(つまり、仮数はそのままにしておく必要があります)

関連する質問

0 投票する
1 に答える
314 参照

functional-programming - スキーム: R6RS のみを使用して、フロナムの仮数と指数を決定する方法

v = fxb
^e
f - 仮数
b - ベース
e - 指数

例: 3.14 = 0.785 x 2^2

サポートされていない場合は、flonum の (IEEE 754) ビットに直接アクセスして、上記の値を抽出する問題に取り組みたいのですが、flonum を一連のバイト (バイトベクトル) に変換する関数が見つかりませんでした。

ありがとうございました。

0 投票する
2 に答える
149 参照

javascript - JavaScript 数値の実際のバイナリ値を取得していますか?

JavaScript では、Number 値を含む特定のプロパティについて、実際のバイナリ値 (値を表す 64 ビット) を取得できますか。

変数 x = 13;

x が指すメモリ位置に格納されている 64 ビットは何ですか?

IEEE 754 コンバーターがあることは知っています。しかし、メモリ セルから実際のライブ バイナリ値を取得することは可能でしょうか? ところで、これはどのアプリケーションにも必要ありません。ただ興味があるだけです...

0 投票する
3 に答える
10520 参照

java - Javaの「Double.MIN_NORMAL」と「Double.MIN_VALUE」の違いは?

Double.MIN_NORMAL(Java 1.6 で導入) との違いは何Double.MIN_VALUEですか?

0 投票する
3 に答える
5202 参照

javascript - JavaScript での IEEE 754 float のエンコードとデコード

ネットワーク プロトコルを解析するには、node.js のバイナリから IEEE 754 float と double をエンコードおよびデコードする必要があります。

これを行う既存のライブラリはありますか、それとも仕様を読んで自分で実装する必要がありますか? それとも、それを行うために C モジュールを作成する必要がありますか?

0 投票する
1 に答える
799 参照

bit-manipulation - MBF Double を IEEE に変換する

MBF を IEEE に変換するための以下のトピックを見つけました。

MBF シングルおよびダブルを IEEE に変換する

以下にマークされたコードの機能を説明できる人はいますか?

  1. Dim sign As Byte = mbf(6) And ToByte(&H80) ' AND (&H80) の理由は?

  2. Dim exp As Int16 = mbf(7) - 128S - 1S + 1023S 'なぜ 1152 (128+1+1023) なのですか?

  3. ieee(7) = ieee(7) または sign 'なぜ符号を ieee(7) に保存しないのですか?

  4. ieee(7) = ieee(7) または ToByte(exp >> 4 And &HFF) '4 をシフトする理由は何ですか?


0 投票する
2 に答える
45664 参照

types - IEEE 754浮動小数点数が正確に表現できない最初の整数はどれですか?

明確にするために、IEE 754フロートを実装する言語を使用していて、次のように宣言している場合:

...そしてそれらを印刷して戻すと、0.0000と1.0000が得られます-正確に。

ただし、IEEE 754は、実数直線に沿ったすべての数値を表すことはできません。ゼロに近い場合、「ギャップ」は小さいです。遠くに行くと、ギャップが大きくなります。

だから、私の質問は、IEEE 754フロートの場合、正確に表現できない最初の(ゼロに最も近い)整数ですか?今のところ、私は32ビットフロートだけに関心がありますが、誰かがそれを与えた場合、64ビットの答えを聞くことに興味があります!

これは、2ビットの仮数を計算して1を加算するのと同じくらい簡単だと思いました。ここで、 bits_of_mantissaは、標準が公開するビット数です。自分のマシン(MSVC ++、Win64)の32ビットフロートに対してこれを実行しましたが、問題ないように見えました。

0 投票する
2 に答える
863 参照

floating-point - 10進数から浮動小数点

数値を変換したい場合例:32.24x10 ^5からIEEE754標準への手作業による方法を教えてください。