1562:特殊的加法

时间限制: 1 S | 内存限制: 8192 KB
Accept: 30 | Submit: 53
[提交] [状态] [讨论版]
描述

规定一种特殊的加法,计算两个加数的和时,按以下3个步骤

(1)把两个加数分别看成二进制数字(去掉前置0),即只要加数不为0,那么对应二进制的最高位必须是1,例如9应看成二进制的1001,而不可以是01001;0看成二进制的0;

(2)把二进制形式的加数高位对齐,如果有某个加数二进制位数较少,则低位补0;逐位进行加法,并且不进位,即某一位上0+0=0,0+1=1,1+0=1,1+1=0;

(3)算出来的二进制结果最后转换回十进制。

现在已知两个加数a和b,求经过特殊的加法后的结果。

输入

多组案例。一个正整数n,表示案例的数量。(n<=20)

每组案例由两个非负整数a和b组成。(a<=10000,b<=10000)

输出

针对每组案例,输出一个整数,表示a、b经过特殊的加法后的结果。

每组案例输出完都要换行。

样例输入

2

0 1

3 10

样例输出

1

6

HINT

第2组案例中,3的二进制是11,10的二进制是1010,把11和1010高位对齐、11的低位补0,所以实际上是1100和1010进行逐位加,按照上述规则,加的结果是0110,即十进制的6。

来源
20-21(2)第4次线上赛