如何将十进制拆分为长尾数和字节指数?或者如何在 C++ 中读取 C# 十进制
本文关键字:十进制 或者 C++ 读取 拆分 长尾 字节 指数 | 更新日期: 2023-09-27 18:34:28
这个问题与我的另一个这个问题相反。我需要做相反的操作。我有 c# 十进制,我需要将其转换为此结构:
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;
};
在这里看看二进制浮点和.NET
您会发现一些示例代码的链接对您的情况很有用。
--r