問題タブ [rational-numbers]
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++ - Boost.Units 周波数から期間
Boost.Units ライブラリを使用して、周波数 (たとえば 20kHz) をその期間 (50000 ナノ秒) に変換しようとしています。浮動小数点を使用したくありません。
私が抱えている問題は、単純に逆数の 1/f を取得するとゼロ切り捨てが発生するため、ナノ秒に変換した後でも結果が 0ns になることです。代わりに、最初にメガヘルツに変換してから逆数を取ると、最初のステップでゼロ切り捨てが発生します。
私が見つけた 1 つの回避策は、数量の value_type として boost::rational を使用することです。これはうまくいきますが、私には醜いと思います。より良い解決策はありますか?私は Units ライブラリにかなり慣れていないので、これまでのところ少し圧倒されています。
今のところ私の解決策:
ruby - 有理数 - ルビの元の数
元の数値を取得するにはどうすればよいですか? たとえば、次のように入力すると:
2 と 10 は 1 と 5 に変更されます。
Rational class( ) のインスタンスから 2 と 10 を取得するにはどうすればよいr
ですか?
Rational クラスにモンキー パッチを適用し、新しいメソッド ( Rational_o
)を作成しました。
動作しますが、元の x & y が格納される組み込みメソッドまたは変数はありますか?
c - カスタム構造体を返す関数が入力に固執していますか?
有理数を単純化するための構造体を使用して関数を作成したかったのですが、
1 つのメンバーは分子 (int) で、もう 1 つは分母 (int) ですが、プログラムが入力でスタックします!! scanf() が少し危険であることは承知していますが、それはほんの数個の整数だと思いました!
c++ - boost cpp_rational から int への変換エラー
分子と分母の桁数が多い場合、boost cpp_rational が誤って int に変換されるようです。
出力は次のとおりです。
また、cpp_rational を cpp_int に変換しようとしてもコンパイルに失敗します。
私がしたいのは、整数に近づいても、除算して切り捨て、決して間違えないようにすることです。
ヘルプ?ありがとう。
c++ - double の分子と分母を計算する最も正確な方法
class NaturalNum
自然数の「無限」サイズ (最大 4GB) を表すために実装しました。
class RationalNum
また、無限の精度で有理数を表すために実装しました。有理数の分子と分母を格納します。どちらもNaturalNum
インスタンスであり、ユーザーが発行した算術演算を実行するときにそれらに依存します。
精度が「ある程度低下」する唯一の場所は印刷時です。これは、小数点 (または非小数点) の後に表示される桁数に制限 (ユーザーによって提供される) があるためです。
私の質問は、 のコンストラクターの 1 つに関するものですclass RationalNum
。つまり、double
値を取り、対応する分子と分母を計算するコンストラクターです。
私のコードを以下に示します。誰かがそれらを計算するためのより正確な方法を見ているかどうか知りたいです:
注: 「m_」で始まる変数はメンバー変数です。
ありがとう
java - メソッドが double を返すようにする方法
次のコードがあり、getNom と getdenom はどちらも 2 と 5 の整数です。0.4 ではなく 0.0 の出力が得られるのはなぜですか? ありがとうございました。
java - 分数のリストを作成するには?
分数を に入れる方法が必要ArrayList
です。ただし、後で比較して並べ替えることができる方法がわからないため、問題が発生しています。
注: 私は 4 つ以上の分数を使用しますが、(可能であれば) 同等のクラスを使用して 2 つ以上の分数を使用する方法がよくわかりません。
例: 1/1 、 3/4 、 7/4 、 2/8 を入力する必要があります
次に、それらを(リストを使用して)最小から最大に並べ替える必要があります。
どんな助けでも大歓迎です。
java - 浮動小数点エラー
浮動小数点に問題があります。Aダブル。たとえば、Java の 56 は、実際には .56000...1 として格納される場合があります。
小数を分数に変換しようとしています。連分数を使ってこれをやろうとしました
しかし、その方法を使用した私の答えは、コンピューターで保存され丸められた小数の方法が原因で不正確でした。
別の方法を試しました:
文字列を使用して小数の長さを調べ、何回 10 を掛けるかを決定しています。後で小数を切り捨てます。これで正しい答えが得られますが、正しいアプローチのように感じませんか? 誰かがこれを行う「正しい」方法を提案できますか?
serialization - boost::rational をシリアライズする方法
シリアル化できませんboost::rational<int>
。boost/serialize/rational.h ヘッダーを検索しましたが、存在しません。
それを達成する方法はありますか?