問題タブ [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 投票する
1 に答える
3414 参照

time - Shader Time Uniform - clock_gettime が切り捨てられる

この関数は、clock_gettime を使用して時刻を double として取得します。

シェーダーに送信するには、float への変換が必要です。仮数がオーバーフローしており、シェーダーへの途中で切り捨てられています。

例:

double として = 1330579093642.441895

float として = 1330579111936.000000

切り捨てが原因で、浮動小数点値が長時間 1 つの数値でスタックします。

また、res.tv_sec の秒の値も float に対して大きすぎるようで、GPU への途中で切り捨てられています。

アプリケーションの起動からの時間を測定しようとすると、同じ問題にすぐに遭遇します。

では、実行時間の値をシェーダーに取得する最良の方法は何でしょうか? Linux の世界ではクロス プラットフォーム (つまり、IOS、Android、Linux) です。

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

matlab - Matlabでは、科学表記法(マティッサと指数)の数値に変数を使用する方法は?

私はMatlabを使用しており、指数の文字で表される指数表記で数値を使用していeます。Matlab での例:

ここで、科学表記法で数値を操作したいと思いますが、変数を使用して仮数指数の値を保持します(それぞれの左側と右側e)。e変数名が指数の文字と結合せずにこれを行う方法がわかりません。例えば:

これはまだできますか?または、手動のアプローチを使用する必要があります。

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

java - Javaで仮数を持つ浮動小数点数を解析する

標準 JavaDoubleクラスを使用して仮数付きの浮動小数点数を解析すると、指数から + 記号が省略されるようです。

例えば:

文字列の後処理なしで、Double を使用して + 記号を取得する方法はありますか?

BigDecimalクラスはより良い仕事をします、例えば

Doubleしかし、集中的な処理で示されるよりも一般的に遅くなります。

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

algorithm - 正規化された数値の最上位ビットが常に1であるのはなぜですか?

ウィキペディアの仮数エントリから:

2進数で作業する場合、仮数は2進数(ビット)単位の幅で特徴付けられます。正規化された数値の最上位ビットは常に1であるため、このビットは通常は格納されず、「隠しビット」と呼ばれます。コンテキストに応じて、隠しビットは仮数の幅にカウントされる場合とカウントされない場合があります。たとえば、同じIEEE 754倍精度形式は、一般に、隠しビットを含む53ビットの仮数、または隠しビットを含まない52ビットの仮数のいずれかを持つものとして説明されます。隠しビットの概念は、バイナリ表現にのみ適用されます。IEEE 754は、精度pを、暗黙の先行ビットを含む仮数の桁数であると定義しています(たとえば、倍精度形式の精度pは53です)。

正規化された数値の最上位ビットが常に1であるのはなぜですか?誰かが例を挙げて説明してもらえますか?

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

java - double から int へのキャストは Java でどのように機能しますか

私は Java が初めてで、double から int へのキャストがどのように機能するのか疑問に思っています。下位32ビットを取得することで long から int への変換が簡単であることは理解していますが、 double (64 ビット) から int (32 ビット) への変換はどうでしょうか? バイナリの double からの 64 ビットは倍精度浮動小数点形式 (仮数部) になっているため、内部でどのように int に変換されますか?

0 投票する
0 に答える
558 参照

android - 10進値のAndroidEditTextでは、仮数を変更できません

私のAndroidアプリケーションでは、10進値にEditTextを使用しています。

私が使う

このEditTextに値を入力します。

現在の問題は、1.0E-9のような値にあります。指数を変更することは可能ですが、数字を削除する以外に仮数を変更することはできません。誰かが解決策を知っていますか(inputType numberDecimalを使用しないことは明らかですが)?

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

c - 仮数をビットとして返す

私のCコードに少し問題がありました。符号、指数、仮数を抽出しようとしています。これまでのところ、符号と指数でうまくいきました。問題は仮数から始まります。たとえば、-5.0を見てみましょう。符号は1ビット、指数は8ビット、仮数は23ビットです。これは-5.0のバイナリ表記です:

1 10000001 0100000000000000000000

1 = 符号

10000001 = 指数

01000000000000000000000 = 仮数。

仮数のビットを戻したい。

結果として得られるのは負の数です。なぜ機能しないのかわかりません。問題を見つけるのを手伝ってくれませんか?

よろしく萩

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

javascript - javascriptで整数を小数部分に変換する最も効率的な方法は何ですか?

JavaScript を使用して整数を小数部に変換したいと考えています。

例えば:

  • 10030 -> 0.10030

  • 123 -> 0.123

私はこれを行う2つの方法を思いつきました:

convertIntegerPartToFractionalPart1 は 100% 正確な結果を生成しません。たとえば、132232 は 0.13223200000000002 に変換されます。ただし、私の MacBook Pro の node.js では、convertIntegerPartToFractionalPart1 は convertIntegerPartToFractionalPart2 の 2 倍以上高速です。(convertIntegerPartToFractionalPart1 の 1000000 回の実行には 46 ミリ秒かかり、convertIntegerPartToFractionalPart2 の 1000000 の実行には 96 ミリ秒かかりました)

これを行うより良い方法はありますか?

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

assembly - 5 ビット float 表現からの値の計算

私はこれにかなり取り組んできましたが、「frac」の部分について何かが欠けていると思います。この 5 ビット float では、符号ビットが最上位で、次の 2 ビットは指数で、指数バイアスは 1 です。最後の 2 ビットは仮数 (仮数) です。

だから私はたくさんの値を持っていますが、メソッドをよりよく理解しようとしています. 最初のものは次のとおりです。

私は方程式が

符号はゼロで、数値は非正規化されているため、E = 1-バイアス = 0 (そうですか?)

ので、私は持っています:

私が抱えている問題は、仮数の値にあります。非正規化数の場合、0.frac に等しく、ここの frac は 1 に等しいと思いましたか?

m = .1 でしょうか?

fracがビット数の値であるように見えるオンラインのものをたくさん見つけましたか?

もしかしてm=1/5?

最後に、答えは x/4 で表すように言われました。では、m は 1/4 になるはずですか? もしそうなら、なぜですか?

誰かが提供できる助けや教えてくれてありがとう!