精华内容
下载资源
问答
  • //当结果是正数时直接%X输出 { printf ( "%llX\n" , s ) ; s = 0 ; } else //当结果是负数时(-%llX\n",-s)形式输出 { printf ( "-%llX\n" , - s ) ; s = 0 ; } } return 0 ;...

    Sample Input
    +1A 12
    1A -9
    -1A -12
    1A -AA
    Sample Output
    2C
    11
    -2C
    -90

    #include<stdio.h>
    int main()
    {
      long long int a,b,s;
     while(scanf("%llX%llX",&a,&b)!=EOF)
     {
      s=a+b;
      if(s>=0)//当结果是正数时直接以%X输出
      {
          printf("%llX\n",s);
          s=0;
      }
      else//当结果是负数时以(-%llX\n",-s)形式输出
      {
       printf("-%llX\n",-s);
          s=0;
      }
     }
     return 0;
    }
    展开全文
  • 输入一个#结束的字符串,滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,输出该字符串并将其转换为十进制数后输出。 输入格式: 输入在一行中给出一个不超过80个字符长度的、...

    7-4 十六进制字符串转换成十进制非负整数 (13分)

    输入一个以#结束的字符串,滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,输出该字符串并将其转换为十进制数后输出。

    输入格式:

    输入在一行中给出一个不超过80个字符长度的、以#结束的非空字符串。

    输出格式:

    第1行中输出已滤去所有非十六进制字符的字符串。 在第2行中输出转换后的十进制数。题目保证输出结果在长整型范围内。

    输入样例:

    -zy1+Ak0-bq?#
    

    输出样例:

    1A0b
    6667
    #include <stdio.h>
    #include <string.h>
    #include<math.h>
    int num(char s);
    
    int main()
    {
    
        char a[81],b[81]; //数组b存放过滤后的字符串
        int d,i,j,k;
    
        i=0;
        while((d=getchar())!='#'){
            a[i]=(char)d;
            i++;
        }
        a[i]='\0';
    
        j=i,k=0;
        for(i=0;i<j;i++){
            if((a[i]>='0'&&a[i]<='9')||(a[i]>='a'&&a[i]<='f')||(a[i]>='A'&&a[i]<='F')){
                b[k]=a[i];
                k++;
            }
        }
        for(i=0;i<k;i++){
            printf("%c",b[i]);
        }
    
        int sum=0;
        for(i=k-1,j=0;i>=0;i--,j++){   //i 控制幂次 j控制位数 因为 f41  第一位的要乘的数的幂次为f*16的2次方
             if(b[j]>='0'&&b[j]<='9'){
                sum=sum+(b[j]-48)*pow(16,i);  //(b[j]-48) 将字符转化为相对应的数字;
            }else{
                sum=sum+num(b[j])*pow(16,i);
            }
        }
        printf("\n%d",sum);
        return 0;
    
    }
    int num(char s)
    {
        if(s == 'a'||s == 'A')
            return 10;
        if(s == 'b'||s == 'B')
            return 11;
        if(s == 'c'||s == 'C')
            return 12;
        if(s == 'd'||s == 'D')
            return 13;
        if(s == 'e'||s == 'E')
            return 14;
        if(s == 'f'||s == 'F')
            return 15;
    }

     

     

    展开全文
  • #include<stdio.h>void... //改成有符号为什么结果不一样 printf("输入任意四位的十六进制:\n"); scanf("%x",&a); //0x9AF0 ,为何用 %h 会有奇怪的结果 输入0xf245 结果就对 b = a>>8; //的高位由符号位填充,有可能为
    #include<stdio.h>
    
    void main()
    {
        unsigned short a,b,c;    //改成有符号为什么结果不一样
    
        printf("输入任意四位的十六进制:\n");
        scanf("%x",&a);   //0x9AF0    ,为何用 %h 会有奇怪的结果  输入0xf245 结果就对
    
        b = a>>8;   //的高位由符号位填充,有可能为1,必须清零
        c = a<<8;
        //c的低位一律补零
        b = 0x00ff&b;
        printf("输出倒序后的b :%#x\n",b);
        printf("输出倒序后的c :%#x\n",c);
    
        a = b|c;
    
        printf("输出倒序后的a :%#x\n",a);
    
    
    
    }
    
    展开全文
  • 我们处理的整数通常用十进制表示,在计算机内存中是二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持...

    题目描述

    我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持了二进制数的表达特点。请输出十进制整数1234对应的八进制和十六进制。

    输入描述:

    输出描述:

    十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X。

    备注:

    printf可以使用使用格式控制串“%o”、“%X”分别输出八进制整数和十六进制整数,并使用修饰符“#”控制前导显示

    代码

    #include<stdio.h>
    int main()
    {
        printf("0%o 0X%X",1234,1234);
        return 0;
    }
    
    展开全文
  • 输入一个#结束的字符串,滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,输出该字符串并将其转换为十进制数后输出。 输入格式 输入在一行中给出一个不超过80个字符长度的、#...
  • 八进制,十进制,十六进制输出; 同时输入一个布尔值并且 布尔值的方式打印出来 参考代码如下 #include&amp;amp;amp;lt;iostream&amp;amp;amp;gt; using namespace std; int main() { cout&...
  • /*编程,输入一个正整数 repeat (0 #include int main() { int repeat,ri; int a,b,c; scanf( " %d " ,&repeat); for (ri= 1 ;ri;ri++) { scanf( " %d " ,&a); scanf( " %o " ,&b); scanf( " %x ...
  • 第二行以十六进制输出(字母小写), 第三行以十六进制输出(字母大写)。 Input 一个int范围内的正整数 a 。 Output 共三行,按题目描述输出。 Sample Input 456 Output 456 1c8 1C8 代码 #include <stdio.h>...
  • 输入一个#结束的字符串,滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,输出该字符串并将其转换为十进制数后输出。 输入格式: 输入在一行中给出一个不超过80个字符长度的、#...
  • 第二行以十六进制输出(字母小写), 第三行以十六进制输出(字母大写)。 Input 一个int范围内的正整数 a 。 Output 共三行,按题目描述输出。 Sample Input 456 Output 456 1c8 1C8 #include<stdio.h> int ...
  • 十六进制数和八进制数...第二行以十六进制输出(字母小写), 第三行以十六进制输出(字母大写)。 第四行以八进制靠右输出,不足 8 位左补 0 并在两端添加星号包裹, 第五行以八进制靠左输出,不足 8 位右补空...
  • 下面展示一些 内联代码片。 #include<stdio.h> main(){ unsigned short a,b; scanf("%4X",&a); b = (a & 0X000F) << 12;//a的最低位左移12位赋值给b ...//a的倒数第三位右移4位并与b相加赋
  • 2、实验内容:从键盘输入2个0–99之间的整数,对其做乘法运算,在屏幕上显示出该乘积对应的二进制和十六进制数。 3、实验要求: (1)在屏幕提示:“please input the first number(0–99): ”后,输入一个0–99之间...
  • 输入一个#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是...
  • 使用hex和oct上述三种格式显示十进制值42。默认格式为十进制,在修改格式之前,原来的格式将一直有效
  • 输出十六进制

    千次阅读 2019-07-21 21:39:57
    //(*)编程从键盘输入任意一个十六进制整数输入的形式输出。例如输入-FA98,输出-FA98 #include <stdio.h> int main() { short int a; scanf("%X",&a); printf("-%hX",-a); return 0; } //这个...
  • 输入一个#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则
  • 输入一个#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数...
  • 程序功能:输入一个回车结束的字符串(少于 80 个字符),滤去所有的非十六进制字符后,组成一个新字符串,然后将新字符串转换为十进制整数输出。 #include <stdio.h> #define MAXLEN 80 int main() { int...
  • 输出数据时,为简便起见,往往不指定输出的格式,由系统根据数据的类型采取默认的格式,但有时希望数据按指定的格式输出,如要求以十六进制或八进制形式输出一个 整数,对输出的小数只保留两位小数等。有两种方法...
  • 2_2 编程,定义变量a,值为八进制整数20,变量b,值为0.1239567,保留三位小数输出,变量c,值为大写字母A。 期望运行结果如下: a=20 b=0.124 c=A c++中输入八进制0开头的;如果是16进制,则是0x或者0X,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 837
精华内容 334
关键字:

以十六进制输出整数