【问题标题】:HLSL: Comparison operator in float assignmentHLSL:浮点赋值中的比较运算符
【发布时间】:2017-03-06 07:52:58
【问题描述】:

我正在阅读 HLSL 代码以试图弄清楚它是如何工作的,我遇到了一些看起来像这样的代码:

float aFloat = someVar > someConstant;

现在我想知道比较运算符在浮点赋值语句中到底在做什么。我知道 HLSL 与 C 类似,但我从未尝试过 C,尽管我打算在未来尝试一下,因此任何对此陈述的见解也会有所帮助。

【问题讨论】:

  • 比较的结果是一个整数 - 0 或 1 - 所以分配给浮点数的值将是 0.0 或 1.0。
  • @JonathanLeffler 这就是我的想法。我对他们为什么将其分配给浮点数而不是布尔值感到有些困惑。现在我猜这只是为了让他们不必在以后的计算中进行投射。谢谢你证实了我的怀疑。如果您将评论放在答案中,我很乐意将其标记为。

标签: c hlsl


【解决方案1】:

将评论转移到答案。

比较的结果是一个整数——0 或 1——所以分配给浮点数的值将是 0.0 或 1.0。

如果没有更多上下文,就无法说出他们为什么这样做,但它是可靠且确定的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 2012-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多