zoukankan      html  css  js  c++  java
  • hdu 2057 十六进制的加减

    这题可以直接用十六进制输入,然后进行十六进制的运算(其实不管是什么进制,在计算机中都是以二进制来计算的,只是按输入输出的格式不同,而强制转化为其它的进制),就像十进制的加法一样。

    这里要注意的是输入小于15位,结果超过了二进制中的32位而小于64位。所以这里用__int64的类型。输入输入出格式就是(%I64x,%I64X)。由于%I64X,不能输出负数,所以负数的输出要做处理。

     1 #include <stdio.h>
     2 
     3 int main(){
     4     __int64 a,b;
     5     int flag;
     6     while(~scanf("%I64X%I64X",&a,&b))     //这里必须是大写的X
     7     {
     8         b+=a;
     9         if(b<0)
    10         {
    11             b=-b;
    12             flag=0;
    13         }
    14         else flag=1;
    15 
    16         if(!flag)
    17            putchar('-');
    18       printf("%I64X
    ",b);
    19 
    20     }
    21 }
  • 相关阅读:
    SpringBoot项目设置maven打包时间
    SpringBoot热部署配置
    Git笔记
    SpringBoot LogBack日志配置
    CURL使用教程
    Linux 安装Docker及使用
    转发和重定向的区别
    16周作业
    16
    15周
  • 原文地址:https://www.cnblogs.com/assult/p/3611541.html
Copyright © 2011-2022 走看看