6

decimalC#には、 (System.Decimal構造)と呼ばれるタイプがあります。float場合によっては、それがどのように優れているか、およびdoubleタイプを示す情報を見つけました。

Borland C ++ Builderプログラムに同様のタイプはありますか?

4

3 に答える 3

8

.NETの型decimalであるC#のSystem.Decimal型は、基数2のエンコードではなく基数10として格納される浮動小数点数です。floatより一般的doubleな2進数の浮動小数点数です。つまり、adoubleはとして格納され+/- x * 2^y、10進数はとして格納され+/- x * 10 ^ yます。そのため、一例として、通常はで表される財務データの方が適していますx * 10^-2。IEEE標準754(浮動小数点演算標準)は、これを「10進浮動小数点」演算と呼び、それぞれの32ビットバージョンと64ビットバージョンを定義します。

C ++では、これらの型はstd::decimal名前空間に実装され、ヘッダーでstd::decimal::decimal32andと呼ばれます。Borland C ++ Builderにそのようなタイプがある場合は、そこにあります。GNUのC++ライブラリにはこのヘッダーが含まれていますが、AFAIKにはまだ実際には標準の一部ではないため、BCBには含まれていない可能性があります。その場合は、サードパーティのライブラリを使用する必要があります。@dashのIntelのDecimalFloatingPointライブラリの例は、おそらく最もよく知られているそのようなライブラリですが、何らかの理由で必要な場合は、Googleで検索すると他のライブラリが見つかるはずです。std::decimal::decimal64<decimal>IEEE 754 Decimal

于 2012-06-20T00:36:38.237 に答える
3

Delphiで使用できるfloatタイプは次のとおりです。

single  :  4 bytes (32bits)
real    :  6 bytes (48bits)
double  :  8 bytes (64bits)
currency:  8 bytes (64bits) (this is probably what you're looking for)
extended: 10 bytes (80bits) (maps to double when you compile to x64!)

C ++ Builderには、System::CurrencyDelphiの組み込み通貨タイプを模倣するクラスがあるようです。多分それはそれを調べるのに役立ちます。

于 2012-06-20T00:19:40.133 に答える
2

このリンクBorlandC++プリミティブデータ型を見つけました。HTMLで表示します。

10バイトの容量を持つlongdoubleタイプがあります。

このドキュメントは有益です。とにかくそれを読みたいかもしれません。

于 2012-06-20T00:42:16.833 に答える