对于两个非负整数 x 和 y,函数 f(x,y) 定义为 x 和 y 在二进制表示时,其对应位不同的个数。例如,f(2,3)=1, f(0,3)=2, f(5,10)=4。
现在给出一组非负整数 x 和 y,计算 f(x,y) 的值。
Input
第一行:一个整数 T (0 < T <= 100 ),表示有 T 组测试数据。
第 2 行- T+1 行:每行输入两个正整数 x 和 y,(0 ≦x, y ≦1000000 )。两个整数之间有一个空格。
Output
对每组测试数据,输出一行。
int main() { int t,x,y,z,q; scanf(“%d”,&t); while(t–) { scanf(“%d %d”,&x,&y); z=0; for(q=0;q<32;q++) { if((x%2)!=(y%2)) z++; x>>=1; y>>=1; } printf(“%d\n”,z); } return 0; }