概述
A + B Again
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12201 Accepted Submission(s): 5331
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
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
_int64 a,b,sum;
while(scanf("%I64X %I64X",&a,&b)!=EOF){
sum=a+b;
if(sum<0){
sum=-sum;
printf("-");
}
printf("%I64Xn",sum);
}
}
这个十六进制可以直接加减的。所以无需转换的。
在VC++中 longlong 用_int64 表示。输入格式为
输出符 %I64x
[signed] long long [int] 64 -2^63 ~ 2^63-1 %I64d
unsigned long long [int] 64 0 ~ 2^64-1 %I64u、%I64o、%I64x
所以直接输出的a+b 是两个正数的和。
至于是无符号,输入时间把符号位至1,按正数计算。至于sum=a+b。出现负数,是因为十六进制本身可以自动加减,只是在输出时间把符号位按正数处理了。
如果理解有误请指出。
最后
以上就是拉长电源为你收集整理的【2057 A + B Again ?】A + B Again的全部内容,希望文章能够帮你解决【2057 A + B Again ?】A + B Again所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复