問題タブ [mantissa]

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 投票する
2 に答える
372 参照

c++ - C++ で符号、指数、仮数部から NaN float 値を作成する

NaN 値を持つ浮動小数点変数を C++ で作成する必要があります。また、どの NaN がより大きな値を持つかを確認できるようにする必要もあります。NaN を比較するには、float の仮数部分を確認する必要があります。標準を使用して NaN を作成する

メソッドは、nanf 関数で異なる文字列が使用されていても、仮数部が同じ NaN になります。ビット パターンの基本部分から NaN を作成することにより、異なる仮数が提供されることが証明されるはずです。したがって、仮数のサイズで単純な並べ替えを実行できます。

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

floating-point - 浮動小数点をバイナリ表現に変換する際に問題が発生する

以下は、私が従おうとしているチュートリアルです。

数値をバイナリ表現に変換しようとすると、間違ってしまいます。誰かが私が間違っていることを教えてもらえますか?

バイナリ表現:

以来..

の指数で..

したがって、バイナリ表現は次のようになります。

しかし、なぜ 639.6875 を同じように変換すると正しい答えが得られるのでしょうか?

整数値の表現:

10 進数値の表現:

結合と正規化:

正規化するとき、基数を最初の 1 の右側に直接配置しますか? 指数に 127 をバイアスすると、127+9 = 136 になります。

バイナリ表現:

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

export - netezza の倍精度出力で値が切り捨てられる

nzsql と 'nzunload' は、倍精度列の仮数値を切り捨てるだけであることに気付きました。問題は次のとおりです。

tot_amttable1 から選択します。

一方、データ分析に Aginity などの他のクライアントを使用すると、得られる出力は次のようになります。

また、netezza が 3 桁の仮数の後に 0 に遭遇すると、「切り捨て」が発生することがわかりました。

このデータベースをオラクルに移行しようとしていますが、この問題によりプロジェクト全体が混乱し、クライアントは移行スクリプトを信頼していません。誰かがこの問題に遭遇しましたか? 唯一の回避策は、たとえ IBM のエンジニアであっても、それをキャストすることTO_CHAR( '999,999.999', col )です。これにより、数十億行に対して実行する必要がある場合、アンロード スクリプトが強制終了されます。

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

rounding - LSB エラーのある浮動小数点加算

Verilog でハードウェアの倍精度加算器を実装しています。ハードウェア出力を MATLAB (または C) の倍精度加算出力と比較する検証段階で、同じ丸めモード (最も近い偶数に丸める) を使用していることを考慮して、LSB が一致しない奇妙なケースをいくつか見つけました。 . 私の質問は、C 計算の精度に関するものです。丸めを行う際に本当に正確ですか、それとも一部の CPU アーキテクチャ (32 ビットまたは 64 ビット) に限定されていますか?

これが例です。

= 0x62a5a1c59bd10037 = 1.5944933396238637e+167

B = 0x62724bc40659bf0c = 1.685748657333889e+166 = 0.1685748657333889e+167

正しい出力 (上記の実数を手動で追加するだけ)

= 1.7630682053572526e+167 = 0x62a7eb3e1c9c3819 (これは私のハードウェアと一致します)

CでA + Bを実行しようとすると、結果は次のようになります

= 1.7630682053572525e+167 = 0x62a7eb3e1c9c3818

中間演算を確認するためにこのアプリケーションを試してみると http://www.ecs.umass.edu/ece/koren/arith/simulator/FPAdd/

仮数の追加から、C が丸めを正しく行っていないことがわかります (最も近い偶数に丸めます)。この場合、仮数は 1 を追加して丸められる必要があります。なぜこれが起こっているのですか?

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

matlab - matlabで科学数の仮数と指数を計算する

mat labで数値の仮数と指数を見つけたいです。それらを計算する関数または方法はありますか?

たとえば、数値が 0.0005 の場合、この関数は仮数部に 5 を返し、指数部に -4 を返します。

ありがとうございました

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

python - 変数から複数のインデックスを持つリストを拡張/追加するにはどうすればよいですか?

指数用の 8 ビットと仮数用の 24 ビットで構成される binary32 浮動小数点から 10 進数へのコンバーターを作成しようとしています。と がexponent = []ありmantissa = []ます。ユーザーが入力した場合、010000111111101101000000000000000インデックス 1 ~ 8valueを に追加しexponent、インデックス 9 ~ 32valueを に追加しmantissaます。現在、これを行うための次のスパゲッティ コードがあります。

したがって、各インデックスを個別に追加するのではなく、それらをすべて 1 行でリストに追加する方法があるかどうか疑問に思っていました。extend私は次の方法を試しました:

exponent.extend(value[1, 2, 3, 4, 5, 6, 7, 8])コンマなしでも

exponent.extend(value[1], value[2], value[3], value[4], value[5], value[6], value[7], value[8], )extendその後、引数を 1 つだけ取ることに気付きました。

exponent.extend(value[1-8])1 と 8 を引いたように見えます。

私がexponent = {}信じているセットはどれですか?そして、exponent.updateカンマで複数のインデックスを続けてみました。それから、それは1つの引数しかサポートしていないと言われました。

リストに複数のインデックスを追加する方法について他に提案はvalueありますか?

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

c# - C#: 指数形式指定子

私は二重の数を持っています:

として表示する必要があります

7.7725e-2

使用しようとすると:

戻ります

7.7725e-002

仮数部には 3 ではなく 1 つのシンボルが必要であるとどのように言えますか?

次のようにフォーマットします。

戻り値

5.0000e2

それ以外の

5.0000e+2