如何在C中重写此检查

Ami*_*mar -1 c

我有条件验证地址是否为31位,旁边我必须检查我们不支持的其他地址.所以条件是这样的

if ((addr & (1 << 31)) || (addr == 0x000f000))
{
   printf("Not 31 bit Valid address");
}
Run Code Online (Sandbox Code Playgroud)

现在我可以把它重写为

if ((addr & (1<<31)) ? 1 : (( addr == 0x000f000) ? 1 : 0))
Run Code Online (Sandbox Code Playgroud)

现在还有其他任何相同的东西,更短更独特的东西.

dor*_*ege 9

if(addr >> 31 || addr == 0x000f000)
Run Code Online (Sandbox Code Playgroud)