Metal 着色语言编程指南 十六

操作符(Operators)

算数操作符(+, -, *, /, %) 返回值类型与操作数相同(矢量或标量,  整型或浮点型).  除和取模运算有可能返回未定义的值:

    除操作可能会导致越界返回值(Out-Of-Range Value).   以整型而言,   除操作返回的值如果越界的话,  会被限制为整型可以表示的最大或者最小值,  比如, 带符号整型的最小值为: TYPE_MIN/(-1).

    除零操作,   浮点数除零会返回正无穷, 负无穷或者 非数值(NaN),  这种做法遵循 IEEE 754标准. 

    取模操作,    第二操作数为零的取模操作会导致未定义行为.   如果操作数为矢量,   取模操作就逐个作用于两个矢量相同位置的分量上,  如果作为第二操作数矢量有值为零的分量, 那个这个分量的取模运算是为定义行为,  其他分量的运算则正常进行.    如果两个操作数都是非负数, 返回值非负,  如果两个操作数至少有一个为负数,  则返回未定义值. 

  无符号整型可以表示的值得范围为 2^n,   在这里n是指整型数的比特数.    带符号整型数溢出是未定义行为. 

  整型数的除操作, 其余数会被舍弃.   如果a, b 为整型数,  b非零 则  a/b + a%b = a 成立. 


一元操作符(++, --)  可以作用于操作数的左侧或者右侧, 跟C++标准所定义的完全一样. 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值