美文网首页
5.5 类型转换

5.5 类型转换

作者: 代码咖啡 | 来源:发表于2018-08-26 18:34 被阅读8次

    文章内容源自《GPU编程与CG语言之阳春白雪下里巴人》,因笔者读书易中途放弃,遂每读一章节,将其移至简书平台,以此作为对自己读书的勉励。笔者用粗体斜体 标注了关键词句,望感兴趣的读者们一起学习共勉。猛戳这里查看更多!

    5.5 类型转换

    Cg 中的类型转换和 C 语言中的类型转换很类似。C 语言中类型转换可以是强制类型转换,也可以是隐式转换,如果是后者,则数据类型从低精度向高精度转换。在 Cg 语言中也是如此。例如:

    float a = 1.0;
    half b = 2.0;
    float c = a+b; //等价于 float c = a + (float)b;
    

    当有类型变量和无类型常量数据进行运算时,该常量数据不做类型转换,举例如下:

    float a = 1.0;
    float b = a + 2.0; //2.0 为无类型常量数据,编译时作为 float 类型
    

    Cg 语言中对于常量数据可以加上类型后,表示该数据的类型,例如:

    float a = 1.0;
    float b = a + 2.0h; //2.0h 为 half 类型常量数据,运算是需要做类型转换
    

    常量的类型后(type suffix)有 3 种:

    • f :表示 float;
    • h: 表示 half;
    • x: 表示 fixed

    相关文章

      网友评论

          本文标题:5.5 类型转换

          本文链接:https://www.haomeiwen.com/subject/qsnoiftx.html