decimal
C#には、 (System.Decimal構造)と呼ばれるタイプがあります。float
場合によっては、それがどのように優れているか、およびdouble
タイプを示す情報を見つけました。
Borland C ++ Builderプログラムに同様のタイプはありますか?
decimal
C#には、 (System.Decimal構造)と呼ばれるタイプがあります。float
場合によっては、それがどのように優れているか、およびdouble
タイプを示す情報を見つけました。
Borland C ++ Builderプログラムに同様のタイプはありますか?
.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::decimal32
andと呼ばれます。Borland C ++ Builderにそのようなタイプがある場合は、そこにあります。GNUのC++ライブラリにはこのヘッダーが含まれていますが、AFAIKにはまだ実際には標準の一部ではないため、BCBには含まれていない可能性があります。その場合は、サードパーティのライブラリを使用する必要があります。@dashのIntelのDecimalFloatingPointライブラリの例は、おそらく最もよく知られているそのようなライブラリですが、何らかの理由で必要な場合は、Googleで検索すると他のライブラリが見つかるはずです。std::decimal::decimal64
<decimal>
IEEE 754 Decimal
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::Currency
Delphiの組み込み通貨タイプを模倣するクラスがあるようです。多分それはそれを調べるのに役立ちます。
このリンクBorlandC++プリミティブデータ型を見つけました。HTMLで表示します。
10バイトの容量を持つlongdoubleタイプがあります。
このドキュメントは有益です。とにかくそれを読みたいかもしれません。