用C语言如何判断两个数符号相同

如题所述

相乘,如果结果大于0,就是相同的;如果小于0,就是不同的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-20
也可以用位运算来
例如 int a=-100,b=100;
int c=a^b;
if(c>0)
{
//符号一样
}else{
//符号不同
}本回答被网友采纳
第2个回答  2010-09-02
if(a*b>0)
printf("a,b符号相同");
else if(a*b<0)
printf("a,b符号不同");
else
printf("a,b中有一个为0");
第3个回答  2010-09-02
if ((a<0 && b<0) || (a>0 && b>0) || (a==0 && b==0))
{
// 符号相同
}
else
{
// 符号不同
}

相乘后再判断的效率低,直接判断效率高
第4个回答  2010-09-02
判断第一bit

bool IsSameSign( int a, int b )
{
return !((a&0x80000000)^(b&0x80000000));
}