hdu 2057 %X 为负数时的解决方案

A + B Again

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 14981    Accepted Submission(s): 6527

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

哈哈... 感觉挺水的 但是挺好玩的... 不知道为什么%X 或者%I64X 为负数的时候 不能直接输出必须要  变成正数再输出...

下面是自己感觉说得过去的理由....

1A -AA

不变负数 答案是 FFFFFF70

变负数后 答案是90 再手动加个符号  -90

上面这个案例,  1A=26    -AA=-170    ans= -144

144 二进制是 1001  0000  取反后   二进制是1111 1111 1111 1111 1111 1111  0110 1111 再加1 二进制是 1111 1111 1111 1111 1111 1111  0111 0000

可能是因为%X没%d机智吧,, 他是老老实实  按十六进制输出的   所以是    FFFFFF70.

所以呢 ,对不够机智的%X家族  要加上个符号.  至少对c是这样的.

#include<stdio.h>
#include<math.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;
}

hdu 2057 %X 为负数时的解决方案

时间: 2024-10-09 02:14:53

hdu 2057 %X 为负数时的解决方案的相关文章

C#调试含有源代码的动态链接库遇见there is no source code available for the current location提示时的解决方案

C#调试含有源代码的动态链接库遇见there is no source code available for the current location提示时的解决方案: 1.首先试最常规的方法:Clean and then rebuild solution,但是没有解决 2.进入Tools>Options,选择Debugging>General 却掉 Enable address-level debugging 选项,在去掉 Require source files to exactly ma

学习方法:面对&#39;自己理解代码’ 与 ‘实际代码样式’有区别时的解决方案

敲代码过程中,我们经常会遇到一些代码问题,这些代码问题涉及到逻辑的偏差,就会遇到, '我看到代码,脑海中运行了一遍,结果是没问题的',但是实际上,'代码的运行流程结果与我所理解的'出现了区别 来,例子呈上来: 1.'我理解中的效果'代码献上:(看行数拼接) 2.进行测试结果: 3.检查代码: 输出结果: 4.第二次检查代码: 输出结果: 5.找到问题之后,我们进行更改: 输出结果: 心得: 为了解决这个问题,自己也多花了一点时间呢,所以: (1) 面对结果不是我们想要的时候,不要用[自己的理解]

hdu 2057 A+B Again

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2057 题目分析:涉及到16进制内的加法,可以用%I64x直接来处理,要注意到16进制中负数是用补码来表示的.一个比较困惑的事实是,这道题再输出时,%64X中‘X’必须是大写,小写是过不了的. 1 #include <cstdio> 2 int main() 3 { 4 __int64 a, b, c; 5 while(~scanf("%I64x%I64x", &a, &

phpstudy80端口被占用时的解决方案

1.适合人群? 之前笔记本单独安装过Apache.php.mysql环境,但是后期想用集成开发环境phpstudy的,安装完phpstudy后(之前的单独环境依然存在),发现启动时,总是显示80端口被占用,如何解决,看第二条: 2.因为Apache当时安装时服务是自动开启的,所以,笔记本每次开机都会显示Apache服务已经启动,需要你手动退出Apache,然后发现重启phpstudy还是显示80端口被占用,如何解决,看第三条: 3.解决方案: 在命令行输入netstat -aon可以查看80端口

Eclipse常用快捷键及快捷键功能失效时的解决方案

当Eclipse快捷键功能,或者使用菜单时都无效.例如:搜索引用(快捷键Ctrl+Shift+G)无效: 解决方案:转换WorkSpac?e,或者删除WorkSpace目录下的?.metadata文件夹,重启Eclipse,重新设置. Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率.Eclipse中有如下一些和编辑相关的快捷键.1. [ALT+/]此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类.方法和属性的名

IOS开发-当遇到tableView整体上移时的解决方案

方案一在使用了navigationController后,当界面进行跳转往返后,时而会出现tableView上移的情况,通常会自动上移64个像素,那么这种情况,我们可以关闭tableView的自动适配布局. self.automaticallyAdjustsScrollViewInsets = NO;// 默认是YES 方案二:当出现tableView整体上移时,你当然可以在 Xcode 中修改每个 View,将他们下移20个像素(状态栏高度)或者64个像素(状态栏+导航栏高度).但是苹果显然已

IE8 innerHTML赋值时包含多级HTML标签时的解决方案

var inhtml = ''; var font = document.createElement("font"); var a = document.createElement("a"); var div = document.createElement("div"); font.style.fontSize = "18px"; if (str == 0) { font.style.color = "#33CC3

IOS-当遇到tableView整体上移时的解决方案

方案一 在使用了navigationController后,当界面进行跳转往返后,时而会出现tableView或collectionView上移的情况,通常会自动上移64个像素,那么这种情况,我们可以关闭tableView的自动适配布局. self.automaticallyAdjustsScrollViewInsets = NO;// 默认是YES 方案二: 当出现tableView整体上移时,你当然可以在 Xcode 中修改每个 View,将他们下移20个像素(状态栏高度)或者64个像素(状

SpringMVC拦截器中通过反射得到Controller方法注解时ClassCastException解决方案

错误应用场 在Controller中,我们自定义了一个@Auth注解来实现权限控制功能,如: @Auth(verifyLogin=false,verifyURL=false) @RequestMapping("/login") public ModelAndView login(HttpServletRequest request,HttpServletResponse response) throws Exception{ Map<String,Object> conte