問題タブ [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.
c++ - C++ で符号、指数、仮数部から NaN float 値を作成する
NaN 値を持つ浮動小数点変数を C++ で作成する必要があります。また、どの NaN がより大きな値を持つかを確認できるようにする必要もあります。NaN を比較するには、float の仮数部分を確認する必要があります。標準を使用して NaN を作成する
メソッドは、nanf 関数で異なる文字列が使用されていても、仮数部が同じ NaN になります。ビット パターンの基本部分から NaN を作成することにより、異なる仮数が提供されることが証明されるはずです。したがって、仮数のサイズで単純な並べ替えを実行できます。
floating-point - 浮動小数点をバイナリ表現に変換する際に問題が発生する
以下は、私が従おうとしているチュートリアルです。
数値をバイナリ表現に変換しようとすると、間違ってしまいます。誰かが私が間違っていることを教えてもらえますか?
バイナリ表現:
以来..
の指数で..
したがって、バイナリ表現は次のようになります。
しかし、なぜ 639.6875 を同じように変換すると正しい答えが得られるのでしょうか?
整数値の表現:
10 進数値の表現:
結合と正規化:
正規化するとき、基数を最初の 1 の右側に直接配置しますか? 指数に 127 をバイアスすると、127+9 = 136 になります。
バイナリ表現:
export - netezza の倍精度出力で値が切り捨てられる
nzsql と 'nzunload' は、倍精度列の仮数値を切り捨てるだけであることに気付きました。問題は次のとおりです。
tot_amt
table1 から選択します。
一方、データ分析に Aginity などの他のクライアントを使用すると、得られる出力は次のようになります。
また、netezza が 3 桁の仮数の後に 0 に遭遇すると、「切り捨て」が発生することがわかりました。
このデータベースをオラクルに移行しようとしていますが、この問題によりプロジェクト全体が混乱し、クライアントは移行スクリプトを信頼していません。誰かがこの問題に遭遇しましたか? 唯一の回避策は、たとえ IBM のエンジニアであっても、それをキャストすることTO_CHAR( '999,999.999', col )
です。これにより、数十億行に対して実行する必要がある場合、アンロード スクリプトが強制終了されます。
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 を追加して丸められる必要があります。なぜこれが起こっているのですか?
matlab - matlabで科学数の仮数と指数を計算する
mat labで数値の仮数と指数を見つけたいです。それらを計算する関数または方法はありますか?
たとえば、数値が 0.0005 の場合、この関数は仮数部に 5 を返し、指数部に -4 を返します。
ありがとうございました
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
ありますか?
c# - C#: 指数形式指定子
私は二重の数を持っています:
として表示する必要があります
7.7725e-2
使用しようとすると:
戻ります
7.7725e-002
仮数部には 3 ではなく 1 つのシンボルが必要であるとどのように言えますか?
次のようにフォーマットします。
戻り値
5.0000e2
それ以外の
5.0000e+2