【问题标题】:Typecasting DXVA2_Fixed32 to Float in C++在 C++ 中将 DXVA2_Fixed32 类型转换为浮点数
【发布时间】:2012-03-22 14:15:51
【问题描述】:
DXVA2_Fixed32 a = DXVA2_Fixed32OpaqueAlpha();

    float f = (float)a;

这会引发编译错误

“错误 C2440:无法从“DXVA2_Fixed32”转换为浮点数。

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

谁能告诉我如何将 DXVA2_Fixed32 类型变量“a”分配给“float 变量”。

提前致谢。

【问题讨论】:

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


    【解决方案1】:

    你不能用这样的类型转换来做到这一点。 DXVA2_Fixed32 类型是一个结构体,包含两个字段,其中包含数字的小数部分和整数部分。

    您需要致电DXVA2FixedToFloat 进行转换。

    float f = DXVA2FixedToFloat(a);
    

    如果您需要朝相反的方向前进,您可以使用可预测的名称DXVA2FloatToFixed

    【讨论】:

    • 再一次令人难以置信的快速和正确的响应。非常感谢大卫!! Stackoverflow 简单极了。 :)
    猜你喜欢
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    相关资源
    最近更新 更多