問題タブ [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# - C# と XML の有理数
業界標準に準拠する XML ファイルを使用しています。スキーマの標準ドキュメントでは、フィールドの 1 つを有理数として定義し、そのデータは 2 つの整数として表されます。通常、2 番目の値は 1 です (例: <foo>20 1</foo>
)。XML で定義された有理数の標準が存在するかどうかを確認するために、あまり成功することなく探し回っています。XML-SCHEMA のメーリング リストで、この (8 年前の) やり取りを見つけました。
http://markmail.org/message/znvfw2r3a2pfeykl
有理数を表すための標準的な「XML の方法」があるかどうか、また、このドキュメントに適用される標準がそれを購読しているのか、それとも彼らがドキュメントのためにそれを行う独自の方法を作成し、依存しているのかは明らかではありません。標準を読む人々に。ドキュメントは、フィールドが有理数であると言う以上に具体的ではありません。
有理数を表す標準的な方法があり、このドキュメントがそれを正しく実装していると仮定すると、System.Xml の機能はそれを認識しますか? 繰り返しますが、私の検索は特に実り多いものではありませんでした。
フィードバックをお寄せいただきありがとうございます。
python - 2.5 用の Pure Python 有理数モジュール
誰もそのようなことを見たことがありますか?小型の自己完結型モジュールが推奨されます。
python - Pythonで有理数と10進数の文字列を浮動小数点数に変換する方法は?
小数または有理数を表すことができる文字列を浮動小数点数に変換するにはどうすればよいですか
[0.1234、0.5]が欲しいです。
eval は私が考えていたものですが、運はありません:
calculator - 有理数計算機
有理数計算機を作りたいのですが、一部の文字を無視する方法がわかりません。たとえば、プログラムが式「2/9+9/3」を計算する必要があり、その答えが簡略化されていない形式でなければならない場合、入力を取得するときに上記の式の「/」を無視するにはどうすればよいでしょうか?
algorithm - 小数の繰り返しを検出するアルゴリズム?
次のことを理解するためのアルゴリズムはありますか?
- 除算の結果が繰り返し 10 進数 (2 進数) の場合。
- 繰り返す場合、繰り返しは何桁 (2 のべき乗で表される) から始まりますか?
- 何桁が繰り返されますか?
いくつかの例:
これを行う方法はありますか?効率性は大きな関心事です。アルゴリズムの説明はコードよりも優先されますが、得られる答えを取り上げます。
ベースが大したことではないことも注目に値します。アルゴリズムをバイナリに変換できます (または、256 を基数にしてchar
s を簡単に使用できる場合は、それを使用できます)。私がこれを言うのは、あなたが説明しているなら、10進数で説明する方が簡単かもしれないからです:)。
sql - SQL Serverで有理数を表現するにはどうすればよいですか?
有理数としてネイティブに提供されるデータを扱っています。このデータを C# で美しく表現し、他の多くの形式に変換できる洗練されたジェネリック C# クラスがあります。残念ながら、振り返ってこれを SQL に保存したい場合、いくつかの解決策を念頭に置いていますが、どれも満足のいくものではありません。
ここに例があります。C# で簡単に処理できる生の値2/3
があります。new Rational<int>(2, 3)
これをデータベースに保存するために考えたオプションは次のとおりです。
10 進数/浮動小数点、つまり
0.66666667
さまざまな精度と正確さの値 = と同じです。 長所:これにより、データのクエリが可能になります。たとえば、値 < 1 を検索できます。 短所:正確さが失われ、この単純な値を UI に表示しようとすると見苦しくなります。2
分子 = 、分母 =3
など、さまざまな精度と正確 さの2 つの正確な整数フィールドとして格納します。長所:これにより、元の値を正確に表現し、後で最も単純な形式で表示することができます。 短所:この値を表す 2 つのフィールドがあり、すべてのクエリで算術演算を実行する必要があるため、クエリが複雑になり、効率が低下します。たとえば、分子/分母 < 1 を検索します。文字列データとしてシリアル化します
"2/3"
。最大文字列長を知ることができ、これを保持できる varchar を持つことができます。 長所: 1 つのフィールドに戻ってきましたが、正確な表現があります。 短所:クエリはほとんど機能せず、シリアル化のコストがかかります。1号と2号の組み合わせ。 長所:値の範囲を簡単かつ効率的にクエリし、UI に正確な値を表示します。 短所: 1 つのデータを保持するための 3 つのフィールド (!?!) は、DRY を壊す複数の表現を同期させなければなりません
1号と3号の組み合わせ。 長所:値の範囲を簡単かつ効率的にクエリし、UI に正確な値を表示します。 短所: 1 つのデータを保持するために 2 つのフィールドに戻り、複数の表現を同期して維持する必要があるため、DRY が壊れ、追加のシリアル化コストを支払う必要があります。
これらよりも優れた別のすぐに使えるソリューションを持っている人はいますか? 他に考慮していないことはありますか?私が知らないSQLでこれを行う比較的簡単な方法はありますか?
json - Haskell Text.JsonパッケージはRationalsを読み込めますが書き込めませんか?
浮動小数点数を含む JSON ファイルをデコードしようとすると、Text.JSON パッケージが数値を JSRational として提供します。したがって、JSRational で readJSON を実行できます。しかし、有理数が書けない!これはわざとですか?
c++ - 有理数ペア用の自己設計クラスを備えたC++プログラムが期待どおりに機能しない
以下のコードに問題があります。現在、関数を実行していません...加算も減算も除算も乗算もしていません。
どんな助けでもありがたいです...私はそれを理解してそれを乗り越えることができるように説明が必要です:D
python - Python に _rational_ 間隔演算の実装はありますか?
Python に有理間隔演算の実装はありますか? これは、有理数ではなく浮動小数点数を使用します。
そうでない場合、Python に ±∞ を含む有理数の実装はありますか?
f# - 精度を損なうことなく、F#で分数をどのように表現しますか?
F#で分数を表す最良の方法は何ですか?HaskellとRacketには、比率を表す便利な方法があります。比率を表すデータ型はF#にありますか?