A + B Again 2057 有符号的64进位的运算

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

Author

linle

Source

校庆杯Warm Up

Recommend

linle   |   We have carefully selected several similar problems for you:  2060 2058 2056 2059 2061

 1 #include<stdio.h>
 2 int main()
 3 {
 4    long long int x,y,z;
 5     while(~scanf("%llx%llx",&x,&y))
 6     {
 7     (x+y>=0)?printf("%llX\n",x+y):printf("-%llX\n",-(x+y));
 8     }
 9     return 0;
10 }
时间: 2024-08-18 03:59:43

A + B Again 2057 有符号的64进位的运算的相关文章

原码、反码、补码、有符号数和无符号数运算

原码 原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制: [+1]原 = 0000 0001 [-1]原 = 1000 0001 第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是: [1111 1111 , 0111 1111] 即 [-127 , 127] 原码是人脑最容易理解和计算的表示方式. 反码 反码的表示方法是: 正数的反码是其本身 负数的反码是在其原码的基础上, 符号位不变,其余各个位取反. [+1] = [00000

在32位、64位操作系统下各数据类型所占的字节数

点击打开链接 在32位.64位系统当中,唯一改变的是指针的长度;在32位系统当中是4个字节.64位则是8个字节.所谓的32位.64位,这个指的是寄存器的位宽. 32位平台下结果: 64位平台下结果: 一.下面几点是值得大家注意的: 1.关于 int 的取值范围,缺省的int数值范围是由编译器设计者决定的,通常都是机器最为自然高效的位数.甚至,我们在32位的机器上,前提没有什么指令可以高效的的处理更短的整型值,我们可以将short.int.long都设置成32位. 2.浮点数在缺省的情况下 表示的

java移位运算符:&lt;&lt;(左移)、&gt;&gt;(带符号右移)和&gt;&gt;&gt;(无符号右移)。

1. 左移运算符 左移运算符<<使指定值的所有位都左移规定的次数. 1)它的通用格式如下所示: value << num num 指定要移位值value 移动的位数. 左移的规则只记住一点:丢弃最高位,0补最低位 如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模.如对int型移动33位,实际上只移动了332=1位. 2)运算规则 按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零. 当左移的运算数是int 类型时,每移动1位它的第31位就

64位系统与32位系统区别

64 位的优点:64 位的应用程序可以直接访问 4EB 的内存和文件大小最大达到4 EB(2 的 63 次幂):可以访问大型数据库.本文介绍的是64位下C语言开发程序注意事项. 1. 32 位和 64 位C数据类型 32和64位C语言内置数据类型,如下表所示: 上表中第一行的大写字母和数字含义如下所示:I表示:int类型L表示:long类型P表示:pointer指针类型32表示:32位系统64表示64位系统如:LP64表示,在64位系统下的long类型和pointer类型长度为64位.64位Li

【转】将 Linux 应用程序移植到 64 位系统上

原文网址:http://www.ibm.com/developerworks/cn/linux/l-port64.html 随着 64 位体系结构的普及,针对 64 位系统准备好您的 Linux® 软件已经变得比以前更为重要.在本文中,您将学习如何在进行语句声明.赋值.位移.类型转换.字符串格式化以及更多操作时,防止出现可移植性缺陷. 0 评论: Harsha S. Adiga, 软件工程师, IBM 2006 年 5 月 18 日 内容 在 IBM Bluemix 云平台上开发并部署您的下一个

@清晰掉 各种类型32位与64位下各类型长度对比

64 位的优点:64 位的应用程序可以直接访问 4EB 的内存和文件大小最大达到4 EB(2 的 63 次幂):可以访问大型数据库.本文介绍的是64位下C语言开发程序注意事项. 1. 32 位和 64 位C数据类型 32和64位C语言内置数据类型,如下表所示: 上表中第一行的大写字母和数字含义如下所示:I表示:int类型L表示:long类型P表示:pointer指针类型32表示:32位系统64表示64位系统如:LP64表示,在64位系统下的long类型和pointer类型长度为64位.64位Li

VBA在32位下没问题,到64位异常报错

64 位 Visual Basic for Applications 概述 Microsoft Visual Basic for Applications (VBA) 是 Microsoft Office 附带的 Visual Basic 版本.在 Microsoft Office 2010 中,VBA 包括可使 VBA 代码同时在 32 位和 64 位环境中正确运行的语言功能. 注意:默认情况下,Office 2010 安装 32 位版本.在安装过程中,您必须明确选择安装 64 位版本. 对于

梦回----32位CPU和64位CPU的通用寄存器

1 32位Intel的CPU通用寄存器 32位CPU所含有的寄存器有:4个数据寄存器(EAX.EBX.ECX和EDX):2个变址和指针寄存器(ESI和EDI):2个指针寄存器(ESP和EBP):6个段寄存器(ES.CS.SS.DS.FS和GS):1个指令指针寄存器(EIP):1个标志寄存器(EFlags). 其中4个数据寄存器和2个编址和指针寄存器以及2个指针寄存器也是我们常说的通用寄存器. 1.1 数据寄存器 数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需要占用总线和访问

第九节课:这些难缠的符号

一.先得讲讲二进制 9 + 1 = 10 0 + 1 = 1 1 + 1 = 10 10 + 1 = 11 11 + 1 = 100 100 + 1 = 101 101 + 1 = 110 二.难缠的符号 bin(0) 0b1 bin(2) 0b10 bin(3) 0b11 1. 难缠的符号之一 >>(二进制 - 右移) << (二进制 - 左移) 3 >> 1 1 8 >> 1 4 左移运算 1 << 1 2 1 << 2 4 1