实现以下结果最快的位黑客攻击是什么?

在C程序中,令x为4字节int。

如果x是0x00000000,则x应该是0xFFFFFFFF,否则x应该保持不变。

最佳答案

x |= -(x == 0);
x |= -!x;
x = x ? x : 0xFFFFFFFF;
if (x == 0) x = 0xFFFFFFFF;

...


进行基准测试并选择适合您的标准

关于c - Bithack的支持:如果x为0,则x应该为-1,否则x应该保持不变,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37935655/

10-13 07:01