http://acm.hdu.edu.cn/showproblem.php?pid=2057
涉及到16进制内的加法,可以用%I64x直接来处理,要注意到16进制中负数是用补码来表示的。一个比较困惑的事实是,这道题再输出时,%64X中‘X’必须是大写,小写是过不了的。
注意:__int64 %I64X ,输出用大写
#include "cstdio" int main()
{
__int64 a,b,c;
while(~scanf("%I64X%I64X",&a,&b))
{
c=a+b;
if(c>=)
printf("%I64X\n",c);
else
printf("-%I64X\n",-c);
}
return ;
}
#include "cstdio" #define LL long long
int main()
{
LL a,b,c;
while(~scanf("%llX%llX",&a,&b))
{
c=a+b;
if(c>=)
printf("%llX\n",c);
else
printf("-%llX\n",-c);
}
return ;
}