题目链接
判断:两个数x、y的正负性。
要求:不可以使用比较运算符,即"<",">","<=",">=","==","!="。
可以运用位运算来进行判断,只需要向右移动31位,比较两个数字的符号位即可
#include<stdio.h>
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF){
if(!(a*b)){ //讨论a,b有一个数为0,符号不存在的情况
printf("Signs can't be sure\n");
continue;
}
if((a>>31)^(b>>31))
printf("Signs are opposite\n");
else
printf("Signs are not opposot\n");
}
return 0;
}