問題タブ [floating-point]

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

c - floor() は正確に表現可能なものを返しますか?

C89 では、floor() は double を返します。以下は動作することが保証されていますか?

私の懸念は、floor の結果が IEEE 754 で正確に表現できない可能性があることです。したがって、d は 2.99999 のようになり、x は最終的に 2 になります。

この質問に対する答えが「はい」であるためには、int の範囲内のすべての整数が double として正確に表現可能でなければならず、floor は常にその正確に表現された値を返さなければなりません。

0 投票する
8 に答える
8692 参照

algorithm - 「近似」最大公約数

たとえば、一般的な量のほぼ倍数である浮動小数点数のリストがあるとします。

2.468、3.700、6.1699

これはほぼすべて 1.234 の倍数です。この「近似 gcd」をどのように特徴付けますか?また、どのように計算または推定を進めますか?

この質問に対する私の答えに厳密に関連しています。

0 投票する
18 に答える
36690 参照

c++ - C++ IsFloat 関数

文字列値が浮動小数点数として「資格がある」かどうかを判断する便利な方法を知っている人はいますか?

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

sql-server - MSSQL データベースの float フィールドの NaN 値

前任者から継承した古いデータベースに取り組んでいます。

その中で、いくつかの float フィールドには、null があるはずの NaN が含まれています。

次の SQL は、NaN を認識しないため機能しません。

これどうやってするの?

0 投票する
32 に答える
4419958 参照

python - フロートを小数点以下2桁に制限する

13.95aに丸めたい。

関数が期待どおりにround機能しません。

0 投票する
6 に答える
2356 参照

python - Pythonで文字列から負荷平均浮動小数点値を抽出する最良の方法は何ですか?

次のような文字列がある場合

「17:31:51 アップ 134 日、11:26、1 ユーザー、負荷平均: 0.22、0.15、0.10」

最後に x3 負荷平均値だけを抽出する最良の方法は何ですか? これを行う正規表現を書きましたが、これが最も効率的/最速の方法ですか?

0 投票する
13 に答える
42417 参照

c++ - 浮動小数点からバイナリ値へ (C++)

2.25125 のような C++ の浮動小数点数と、浮動小数点数をメモリ (IEEE 754) に格納するために使用されるバイナリ値で満たされた int 配列を取得したいと考えています。

したがって、数値を取得して、浮動小数点数のバイナリ値を持つ int num[16] 配列になる可能性があります。num[0] は 1 num[1] は 1 num[2] は 0 num[3 ]は1などになります...

int を配列に入れるのは難しくありません。float のバイナリ値を取得するプロセスだけで行き詰っています。float 変数であるメモリ内のバイナリを読み取ることができますか? そうでない場合、どうすれば C++ でこれを行うことができますか?

編集: この方法で比較を行う理由は、C++ でビット単位の操作を行う方法を学びたいからです。

0 投票する
34 に答える
1006912 参照

python - 10 進数の範囲 () のステップ値を使用する方法は?

0 と 1 の間を 0.1 ずつステップする方法はありますか?

次のようにできると思ったのですが、失敗しました。

代わりに、step 引数をゼロにすることはできないと表示されますが、これは予期していませんでした。

0 投票する
5 に答える
4353 参照

c# - C#フロートバグ?0.1-0.1 = 1.490116E-08

どうしたの?!0.1〜0.1になるまで、減算は正常に機能します。私はnonoba.comAPIを使用してビジュアルC#2008を使用しています。

出力:

ありがとうございました-私は通常、素敵な「丸い」数値を加算/減算しているので、10進数タイプを使用する可能性があります。今のところ、私はただ行きます:

ちなみに、これは実際にはc#の「バグ」ではないことはわかっていました。コードのバグか、理解の欠如のいずれかが原因だと思いました。

推奨されるすべての読み方を読んだ後、私の愚かさは通常、2進数ではなく10進数の浮動小数点を持つActionScript Number型を使用したためであると結論付けます。とにかく、この出力は得られません。

0 投票する
6 に答える
846 参照

c - 単純な浮動小数点演算の奇妙な結果 - FPU の内部状態が悪い?

小さな単純な浮動小数点演算から時折奇妙な結果が得られるソフトウェア プロジェクトがあります。私が見逃しているものがあると思います。次の問題をデバッグする方法についてのヒントが欲しいです。

(使用されるコンパイラは、Microsoft C コンパイラのバージョン 12 である MS VC 6.0 です)

最初の異常:

何らかの理由で、タイマーの評価が失敗し、時間指定されたコードが実行されませんでした。デバッガーでは、トリガー条件が実際に真であることを確認するのに問題はありませんでしたが、FPU は肯定的な結果を見つけることを拒否しました。次のコード セグメントは、同じ操作を実行しましたが、問題はありませんでした。この問題は、失敗する可能性のある偽の評価を挿入することで回避されました。

FPU の状態は、実行された以前の操作によって何らかの形で汚染されていると思いますが、役立つコンパイラ フラグがいくつかあるのでしょうか?

2番目の異常:

デバッガーは式を約 0.05 と評価しますが、結果は #IND です。#IND 値は、fld 命令を使用して 2.0F 値が FPU にロードされると、FPU スタックに表示されます。前の命令は、fild 命令を使用して、整数値 2000 を double float としてロードします。FPU スタックに #IND 値が含まれると、すべてが失われますが、デバッガーは数式を問題なく評価します。後で、これらの操作は期待される結果を返します。

また、関数呼び出しの直後に FPU の問題が再び発生します。各新しい関数の後に FPU 状態をクリアする浮動小数点演算を挿入する必要がありますか? 何らかの方法で FPU に影響を与える可能性のあるコンパイラ フラグはありますか?

この時点で、すべてのヒントとコツに感謝します。

編集:トップ関数でアセンブリ関数EMMSを最初に呼び出すことで、問題を回避できました。そうすれば、私のコードが呼び出された環境で作成された、または作成されなかった可能性のある MMX 関連のガベージが FPU からクリアされます。FPU の状態は当然のことではないようです。

//フランク