hdu 2057 A + B Again

Problem Description
There must be many A + B problems in our HDOJ , now a new one is coming.
Give you two hexadecimal integers , your task is to calculate the sum of them,and print it in hexadecimal too.
Easy ? AC it !
 

 

Input
The input contains several test cases, please process to the end of the file.
Each case consists of two hexadecimal integers A and B in a line seperated by a blank.
The length of A and B is less than 15.
 

 

Output
For each test case,print the sum of A and B in hexadecimal in one line.
 

 

Sample Input
+A -A
+1A 12
1A -9
-1A -12
1A -AA
 

 

Sample Output
0
2C
11
-2C
-90
我以前完全不知道还有%I64这个东西。
%I64X可以对数据读入输出进行操作。但问题在于直接用%I64X,是不能输出负数的,所以我们碰到负数要自己转成正数,
在前面加‘-’(如果直接输入A的话,那么输出为FFFFFFF6,为A的补码)。
#include<stdio.h>
int main()
{
    __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;
}

 

posted @ 2014-01-06 14:38  段少  阅读(409)  评论(0编辑  收藏  举报