if ('A' <= c && c <= 'Z') c = c | 0x20;
这没问题,
a = (b < c) ? 8 : 3;
要求极为整,才能转化为类似:
极
a = 3 + (b < c) * 5;
分支代码,在GPU中用,并在安全代码中用来抵抗时间攻击. 在SIMD指令中,也会看见,它设置所有位,而不仅是1,因为&比*快.
GPU
安全代码
时间攻击
SIMD
1
&
*
a = 3 + (-(b < c) & 5);