不可以!
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
判断:两个数x、y的正负性。
要求:不可以使用比较运算符,即"<",">","<=",">=","==","!="。
-
输入
-
有多组数据,每组数据占一行,每一行两个数x,y。
x、y保证在int范围内。
输出
-
每组数据输出占一行。
如果两个数是一正一负,输出"Signs are opposite"
如果是同为正或同为负,输出"Signs are not opposot"
如果无法确定,输出"Signs can't be sure"
输出不包括引号
样例输入
-
1 1 -1 1
样例输出
-
Signs are not opposot Signs are opposite
-
-
#include<stdio.h> int main() { int a,b,c; while(~scanf("%d%d",&a,&b)) { c=((a>>31)&1)+((b>>31)&1); if((!a)||(!b)) printf("Signs can't be sure/n"); else printf("Signs are %s/n",c&1?"opposite":"not opposot"); } } //两个数有一个为0 的;输出不确定,0既不是正数也不是负数 /*=== 1. and运算(&;或者and) === 00101 11100 ---------------- 00100 === 2. or运算(|或者or) === 00101 11100 ---------------- 11101 === 3. xor运算(^或者xor) === 00101 11100 ---------------- 11001*/
-
有多组数据,每组数据占一行,每一行两个数x,y。