C#固定点到浮点

时间:2011-04-20 10:32:34

标签: c# floating-point fixed true-type-fonts

我正在尝试使用here中的示例代码获取真实的字体字形轮廓。

代码中存在一些小错误,包括它只考虑表示字形点位置的固定点值的整个部分。

似乎有很多将浮点值转换为固定值的示例,但反之亦然。 如何将整个FIXED值转换为浮点值?

1 个答案:

答案 0 :(得分:3)

我想这是一个

public struct FIXED
{
    public short fract;
    public short value;
}

您要转换为浮点数。这样的fixed-point numbers可以像这样转换

var fix = new FIXED { value = 42, fract = 16384 };
double floating = fix.value + (double)fix.fract / 65536;

我除以65536因为short是16位(2 ^ 16)。它实际上有点奇怪,它是short而不是ushort,因为分数不能为负数。