問題タブ [real-number]
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.
python - 配列から実数のみを選択するにはどうすればよいですか? (パイソン3)
次の垂直漸近線を見つけたい:
f=(3x^3 + 17x^2 + 6x + 1)/(2x^3 - x + 3)
だから私は(2x ^ 3 - x + 3)の根を見つけたいので、私は書いた:
出力は次のとおりです。
したがって、現在、出力で意味のある唯一の数値は -1.289 であり、複素数には意味がありません。
私の質問は次のとおりです。出力が次のように表示されるように、実数のみを選択するにはどうすればよいですか。
c - バイト配列から読み取り、Double に変換します
ファイルの内容から以前に生成した BYTE 配列から 8 BYTE REAL 浮動小数点数を浮動小数点数として取得しようとしています。
現時点では、8 バイトの Real は double と同じであることがわかっています。したがって、8 バイトを読み取って変数に直接割り当てることが論理的に可能である必要があります。残念ながら思い通りにはいきません。
例として:
My Byte Array ファイルに格納されている HEX 値の制御出力用の配列。
出力でファイルから正しい 16 進値を返します
私はAPI作業を使用し、whitecharbufferに依存しているため、wsprintfはそれを使用する必要があります。
これまでのところ、次のことを試しました。
出力:
別の試み:
出力:
ページからの正しい結果: http://www.binaryconvert.com/result_double.html?hexadecimal=C1D6D420937EE766
しかし、-1,532002893982 になる必要があります。コンマの計算が正しくありません。
なぜ間違った double の数値が出てしまうのでしょうか? -1532001869,982873 ではなく -1,532001 という結果を得るにはどうすればよいでしょうか?
編集:@ Gerhardhからこれを試します
出力:
最初の行にバイトスワップを使用
私は同じ結果を持っています。
java - Java での大きな float および double の数値の印刷/永続化が正しくありません。この動作は有効桁数によるものですか?
アプリケーションで、いくつかの数値を long(18 桁) から float/double に変換して保存する作業を行っています。これらの数値は参照/ID に似ていますが、計算には使用されません。最近、float/double として格納されているデータに矛盾があることに気付きました。動作が浮動小数点数が有効数字と呼ぶものと、おそらく同じことの簡単な説明によるものかどうかを理解しようとしています。
以下のプログラムに基づく私の質問は
- 出力番号 : 5 は、float の最大値として非常に大きな数値 (10 進数で 39 桁) を示します。なぜ float は 7 桁を超えるものを正確に表示できないのでしょうか。これは、有効数字が 6 ~ 7 桁しかサポートされていないためです。
- 出力番号 : 10 は double の最大値として非常に大きな数値を示します。double が 16 桁を超えるものを正確に表示できないのはなぜですか。これは、有効数字が 15 桁しかサポートされていないためです。
- 有効数字とは何を意味するのでしょうか? この数字の後の数字は、小数点の前後に関係なく正確に表現されないということですか?
注 : このトピックに関する調査の結果、浮動小数点数はその性質上不正確であり、正確な表現が必要なものを表現するために使用すべきではないことがわかりました。それでも、上記の動作と有効数字について少し混乱しています。
上記プログラムの出力
- 50000000115 の浮動小数点値は : 49,999,998,976.000000 です。期待される出力は 50000000115.000000 でした
- 50000000116 の浮動小数点値は : 49,999,998,976.000000 です。期待される出力は 50000000116.000000 でした
50000000117 の浮動小数点値は : 49,999,998,976.000000 です。期待される出力は 50000000117.000000 でした
2175863596593954381 の浮動小数点値は、2,175,863,554,941,386,750.000000 です。期待される出力は 2175863596593954381.000 000 でした
Float.MAX_VALUE: 340,282,346,638,528,860,000,000,000,000,000,000,000.000000
50000000115 の倍精度値は : 50,000,000,115.000000
- 50000000116 の倍精度値は : 50,000,000,116.000000
50000000117 の倍精度値は : 50,000,000,117.000000
2175863596593954381 の double 値は : 2,175,863,596,593,954,300.000000 です。期待される出力は 2175863596593954381.0 00000 でした
double.max_value:179,769,313,486,231,570,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,00 0,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
数値の浮動小数点値は、7 桁までの期待される結果を示します。つまり、12345678 は : 12,345,678.000000 です。
- 数値の浮動小数点値は、7 桁までの期待される結果を示します。つまり、11111111 は : 11,111,111.000000 です。
- 数値の double 値は、16 桁までの期待される結果を示します。
- 数値の double 値は、16 桁までの期待される結果を示します。