【2057 A + B Again ?】

发布时间:2014-10-22 13:48:43编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"【2057 A + B Again ?】",主要涉及到【2057 A + B Again ?】方面的内容,对于【2057 A + B Again ?】感兴趣的同学可以参考一下。

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 !   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   #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("%I64X\n",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。出现负数,是因为十六进制本身可以自动加减,只是在输出时间把符号位按正数处理了。 如果理解有误请指出。

上一篇:ID3 算法实现决策树