0

この質問は、私の別のこの質問の反対です。逆の操作をする必要があります。この構造に変換する必要がある 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;
};
4

1 に答える 1