使用C ++中的位运算符检查数字是正数,负数还是零

在这里,我们将使用位运算符检查数字是正数,负数还是零。如果我们像n >> 31那样执行移位,那么它将把每个负数转换为-1,其他所有数都转换为0。如果我们执行–n >> 31,那么对于正数它将返回-1。当我们对0进行运算时,n >> 31和–n >> 31都返回0。为此,我们将使用另一个公式,如下所示:

1+(