判断一个整数的符号,为负数返回-1,为正数返回1,为0返回0:
int sign(int num)
{
int s = num >> 31;//如果为正数 s=0,如果为负数s=-1;
num = -num;
int v = (num>>31) & 0x00000001;//如果为正数v=1,如果为负数 v=0
return s | v;
}
判断一个整数的符号,为负数返回-1,为正数返回1,为0返回0:
int sign(int num)
{
int s = num >> 31;//如果为正数 s=0,如果为负数s=-1;
num = -num;
int v = (num>>31) & 0x00000001;//如果为正数v=1,如果为负数 v=0
return s | v;
}