这个问题与我的另一个this问题相反。我需要做相反的操作。我有c#decimal,我需要转换为这个结构:
public struct significand
{
public uint mantissa; // or ulong
public sbyte exponent;
}
我稍后通过p / invoke将此结构传递给c ++库。如何将decimal
转换为此结构?我想我可能应该以某种方式使用Decimal.GetBits
方法?或者我可能会以某种方式声明c ++结构,因此十进制将自动转换为它(我认为它们应该是二进制兼容的)。目前我正在使用这样的c ++结构:
struct significand_t
{
uint32_t mantissa;
int8_t exponent;
};