使用:索引 & 0x01

Kap*_*wal -1 c++

我想知道代码中那个 (index & 0x01) 的用途是什么?

if(((arr[index] >= 0) && (!(index & 0x01))) 
                || ((arr[index] < 0) && (index & 0x01))) 
{ 
    outofplace = index; 
} 
Run Code Online (Sandbox Code Playgroud)

ber*_*eal 6

一个数是奇数当且仅当它的最后一位是奇数,而不管基数如何。所以如果我们想知道这个数字的奇数,只要检查最后一位是否被设置就足够了。

index & 0x01
Run Code Online (Sandbox Code Playgroud)

将是1当且仅当index是奇数。