この質問は、私の別のこの質問の反対です。逆の操作をする必要があります。この構造に変換する必要がある c# decimal があります。
public struct significand
{
public uint mantissa; // or ulong
public sbyte exponent;
}
この構造体を後で p/invoke 経由で C++ ライブラリに渡します。decimal
この構造に変換するにはどうすればよいですか? Decimal.GetBits
どうにかしてメソッドを使うべきだと思いますか?または、おそらく、何らかの方法で c++ 構造を宣言して、10 進数が自動的に変換されるようにすることができます (バイナリ互換である必要があると思います)。現在、私はそのようなC++構造体を使用しています:
struct significand_t
{
uint32_t mantissa;
int8_t exponent;
};