最大长度为15位,所以用 __int64
由于是二进制储存,所以当 a+b<0的时候如果直接输出会输出ffff
所以换一种形式输出负号加a+b的绝对值
// hdoj_2057 A + B Again
// 0MS 220K 245 B GCC
#include <stdio.h>
int main(void)
{
__int64 a, b, c;
while(scanf("%I64x%I64x", &a, &b) != EOF)
{
c = a + b;
if(c >= 0)
printf("%I64X\n", c);
else
printf("-%I64X\n", -c);
}
return 0;
}
%x 和 %X 输出后的字母大小写不同