操作符(Operators)
算数操作符(+, -, *, /, %) 返回值类型与操作数相同(矢量或标量, 整型或浮点型). 除和取模运算有可能返回未定义的值:
除操作可能会导致越界返回值(Out-Of-Range Value). 以整型而言, 除操作返回的值如果越界的话, 会被限制为整型可以表示的最大或者最小值, 比如, 带符号整型的最小值为: TYPE_MIN/(-1).
除零操作, 浮点数除零会返回正无穷, 负无穷或者 非数值(NaN), 这种做法遵循 IEEE 754标准.
取模操作, 第二操作数为零的取模操作会导致未定义行为. 如果操作数为矢量, 取模操作就逐个作用于两个矢量相同位置的分量上, 如果作为第二操作数矢量有值为零的分量, 那个这个分量的取模运算是为定义行为, 其他分量的运算则正常进行. 如果两个操作数都是非负数, 返回值非负, 如果两个操作数至少有一个为负数, 则返回未定义值.
无符号整型可以表示的值得范围为 2^n, 在这里n是指整型数的比特数. 带符号整型数溢出是未定义行为.
整型数的除操作, 其余数会被舍弃. 如果a, b 为整型数, b非零 则 a/b + a%b = a 成立.
一元操作符(++, --) 可以作用于操作数的左侧或者右侧, 跟C++标准所定义的完全一样.