校验2个整数符号是否相同

通过位移操作校验两个数是否为同符号

linux c例子1

#include <stdio.h>

int main() 
{ 
    int a = 50;
    int b = -50;

    if (a^b > 0)
        printf("signs are opposite\n");
    else
        printf("signs are not opposite\n");

    // 如果确定int是32位可以这样写
    // if (a^y >> 31)
}


上一篇: 位算法-查找只出现一次的元素
下一篇: 两个数相加相减(位移)
作者邮箱: 203328517@qq.com