在X ++中将DXVA2_Fixed32转换为Float

时间:2012-03-22 14:15:51

标签: c++ visual-c++ casting directx type-conversion

DXVA2_Fixed32 a = DXVA2_Fixed32OpaqueAlpha();

    float f = (float)a;

这会引发编译错误

  

“错误C2440:无法从”DXVA2_Fixed32“转换为Float。

我的目的是将“a”的值分配给“f”。

有人可以告诉我如何将DXVA2_Fixed32类型变量“a”分配给“浮点变量”f“。

提前致谢。

1 个答案:

答案 0 :(得分:1)

你不能用类似的类型来做。 DXVA2_Fixed32类型是一个包含两个字段的结构,其中包含数字的小数部分和整数部分。

您需要致电DXVA2FixedToFloat进行转换。

float f = DXVA2FixedToFloat(a);

如果你需要向相反的方向前进,你可以使用可预测的DXVA2FloatToFixed