第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));
}