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 !
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.
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
解:这个题可以用字符串转成10进制数,相加后再输出16进制数。有一种更简单的实现方法,直接用%X输入输出,但问题是16进制数没有符号位,所以正负要分开。
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <vector>
#include <cmath>
#include <queue>
#include <deque>
#include <cmath>
#include <map>
using namespace std;
typedef long long ll;
const double inf=1e20;
const int maxn=1e5+10;
const int mod=1e9+7;
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;
}
来源:https://www.cnblogs.com/wz-archer/p/12453921.html