0

ユーザーのキーをマシンの初期構成に保存する必要があるプロジェクトでプログラミングしています。C# で記述したいと考えています。

2 つの数値 R と X0、R = 3.9988、X0 = 0.5 で構成される初期構成があります。これらの番号にユーザー キーを追加します。例えば:

キー: hos110 =>

  • R = 3.9988104111115049049048
  • X0 = 0.5104111115049049048

104111115049049048 は連結されたキーの ASCII コードです。

これらの数値をどのように保存できますか?

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

更新: MATLAB はどうですか?

4

7 に答える 7

5

あなたは本当に数字を「追加」していません。文字列を連結しています。

それらを文字列として保存します。それ以上の正確さは得られません。

算術演算を実行する必要がある場合、その場で 10 進数に変換するのは簡単です。

于 2009-11-03T17:30:06.143 に答える
4

キーを数字の一部として使用している理由はよくわかりませんが、それはさておき... System.Decimal(別名decimal)は、ここでの仕事に適したツールのようです。

于 2009-11-03T17:28:05.690 に答える
2

無限の精度が必要な場合は、BigInteger と呼ばれるものが必要です。ただし、これらのクラスは通常、科学計算にのみ使用されます (通常、データの保存には適していません)。これは、コード サンプルと実際には一致していないようです。一般的な計算のみを行う必要がある場合は、文字列を使用してから、計算のためにそれらを Decimal に変換します。

ただし、そのような BigInterger クラスを探している場合は、ここで見つけることができます。

.Net 4.0 では、クラス ライブラリに BigInteger 組み込みクラスが含まれSystem.Numerics.BigIntegerます。

于 2009-11-03T17:54:40.307 に答える
1

達成しようとしている精度にもよりますが、おそらくこれらを10 進数値のペアとして保存できます。

ただし、これが ASCII コードの場合は、これらを文字列として直接保存することもできます。これにより、特にこの情報を使用する前に 104111... を実行する場合に、数値精度の問題が回避されます。

于 2009-11-03T17:29:05.787 に答える
0

浮動小数点数は本質的に不正確です。この「初期構成」が何であるか、またはなぜフロートなのかはわかりませんが、「ユーザーキー」(それが何であれ) を追加して後で回復することはできません。ユーザーキーを文字列などに個別に保存します。

于 2009-11-03T17:29:18.323 に答える
0

これらの「数値」に数値がない場合、つまり数値計算に使用しない場合は、数値データ型に格納する必要はありません。それらを文字列として保存できます。

于 2009-11-03T17:29:18.340 に答える
0

「キー」を格納しているように見えるので、文字列を使用してみませんか?

于 2009-11-03T17:28:17.607 に答える