精华内容
下载资源
问答
  • 32位无符号的十六进制按照二进制码反序,输出的结果用16进制显示 ...将16进制数的每一位拆分成8421BCD码,比如16进制的12拆分成0001 0010 3.对每四位进行倒序,分别乘1,2,4,8变成16进制 此时步骤2的数变成 8 4 4

    32位无符号的十六进制按照二进制码反序,输出的结果用16进制显示
    例:
    输入:0x1
    输出:80000000
    算法思路:
    1.输入用scanf格式化输入的%x来输入16进制数
    2.将16进制数的每一位拆分成8421BCD码,比如16进制的12拆分成0001 0010
    3.对每四位进行倒序,分别乘1,2,4,8变成16进制 此时步骤2的数变成 8 4
    4.倒序输出,不足的位数补0.比如上一步骤输出结果是:48000000
    代码实现(cygwin64位):

    int main()
    {
            int n,y,t;
            int sum[8]={0};//因为32位最多显示8位16进制
                                    //这里都初始化为0,方便之后的输出操作
            int num=0;
            scanf("%x",&n);//按照16进制格式化输入
            while(n!=0){
                y=n%16;//把倒序拆分16进制
                for(int i=0;i<4;i++){
                        sum[num]+=(y%2)*pow(2,4-i-1);
                        //将拆分出来的16进制转换成8421BCD码
                        //再乘以相应的权值相加
                        y=y/2;
                }
                n=n/16;
                num++;
        }
        for(int i=0;i<8;i++)
                cout<<sum[i];
        cout<<endl;
    }
    

    运行结果:
    这里写图片描述

    展开全文
  • IP地址点分十进制格式通过将32位从低位到高位(右到左)一次分组八位,总共分4次,任何8位二进制数对应进制数都是IP地址有效部分。 C语言实现代码: /* 问题描述: 假设正在读取表示IP地址字节流,任务是...

    问题描述:
    假设需要编写一个程序,实现32位二进制IP地址(32个字符长的1和0)转换为点分十进制格式并输出。IP地址的点分十进制格式通过将32位从低位到高位(右到左)一次分组八位,总共分4次,任何8位二进制数对应的十进制数都是IP地址的有效部分。

    C语言实现代码:

    /*
    问题描述:
    假设正在读取表示IP地址的字节流,任务是将32个字符长的1和0(位)序列转换为点分十进制格式,IP地址的点分十进制
    格式是通过将32位字节流一次分组8位,并将二进制表示转换为十进制表示形式 
    */
    #include <stdio.h>
    #include <string.h>
    #define base 2
    int main(void)
    {
     int n;
     printf("请输入需要将32位二进制IP地址转化为点分十进制格式的数量:");
     scanf("%d",&n);
     for(int i=0;i<n;i++)
     {
      char s[40];
      int sum=0,flag=0;//flag为控制分隔符"."的输出 
      scanf("%s",s);
      for(int j=0;j<strlen(s);j++)
      {
       sum=sum*base+s[j]-'0';//此处是重点,每8位二进制数转换为十进制数
       if(j%8==7)//当j=7,15,23,31时开始输出 
       {
        if(flag)
        {
         printf(".");//输出第一个八位二进制对应的十进制数时,不输出"."
        }
        printf("%d",sum);
        sum=0;//sum置零,运算第二个八位二进制对应的十进制数 
        flag=1;//从第二个开始输出"." 
       }
      }
      printf("\n");
     }
     return 0;
    }

    输出结果:
    在这里插入图片描述

    展开全文
  • # 表示 :输出时加上 0x 或 0X(大小写取决于"%#10x" 中 x 大小写),这个占了2位,所以 10 表示 数字部分占 8 位 printf("%#10x", a);
    • # 表示 :输出时加上 0x0X(大小写取决于"%#10x"x 的大小写),这个占了2位,所以 10 表示 数字部分占 8 位
    printf("%#10x", a);
    
    展开全文
  • 1022 D进制的A+B (20 分) 输入两个非负 10 进制整数 A 和 B (≤2 30−1),输出 A+B 的 D (1<D≤10)进制数。 输入格式: 输入在一行中依次给出 3 个整数 A、B 和 D。 输出格式输出 A+B 的 D 进制数。 输入样例...

    1022 D进制的A+B (20 分)
    输入两个非负 10 进制整数 A 和 B (≤2 30−1),输出 A+B 的 D (1<D≤10)进制数。

    输入格式:
    输入在一行中依次给出 3 个整数 A、B 和 D。

    输出格式:
    输出 A+B 的 D 进制数。

    输入样例:
    123 456 8
    输出样例:
    1103

    #include<stdio.h>
    int main()
    {
        unsigned long long A,B;//非负
        int D;
        scanf("%d%d%d",&A,&B,&D);
        int sum;
        sum=A+B;
        int a[100];
        int i=0;
        do
        {
            a[i++]=sum%D;
            sum/=D;
        }while(sum);//防止A和B都是零。
        for(i=i-1;i>=0;i--)
            printf("%d",a[i]);
            printf("\n");
        return 0;
    }
    
    
    展开全文
  • 一:进制 二进制(0,1),八进制(0~7)O开头,如O567=5*8*8+6*8+7*1=375,前面...二进制划分三位一组可以转换成八进制的,二进制划分4为一组可以转换成十六进制 二:程序的一般形式: #import 这里是Xcode工具里
  • C语言的格式化输入输出可以快速转换10进制,8进制和16进制。 例子: 1.C中指定格式输出 printf("%05o\n",35); //按八进制格式输出,保留5位高位补零 printf("%03d\n",35); //按十进制格式输出,保留3位高位补零 ...
  • 本程序要自己创建个文本格式的输入文件a1.txt,编译后能将文本文件前255字节以内字符转换成相应AscII码值进制表示,并存入输出文件a2.txt中。然后再将二进制文件还原并存入a3.txt文件。 具体代码如下: #...
  • C语言允许使用八进制整数与十六进制整数,八进制整数加前导0(数字),十六进制整数加前导0X。 int a = 100; 也可以这样写: int a = 0144; // 4+8*4+1*8*8=100 用八进制表达时,不能少了最前那个0。否则...
  • 16进制转8进制 问题描述 给定n个十六进制正整数,输出它们对应八进制数。 输入格式  输入第一行为一个正整数n (1<=n<=10)。  接下来n行,每行一个由09、大写字母AF组成字符串,表示要转换十六进制...
  • 1、通过输入十六进制形式字符转换为十进制输出 #include #include #include int main1() { int a,b; scanf("%X%X", &a, &b);//输入两个值例如:A 8 printf("%5d%5d\n", a, b); //以十进制形式输出为 10 8 ...
  • //这个res[100]表示8进制数组序列 scanf("%d",&n); getchar(); //如果用scanf后面一定要加一个getchar()来吸收回车字符 while(n--) { char str[10]={0}; //每次循环都应该初始化,而不仅仅是开头 gets...
  •  给定n个十六进制正整数,输出它们对应进制数。 输入格式  输入第一行为一个正整数n (1)。  接下来n行,每行一个由0~9、大写字母A~F组成字符串,表示要转换十六进制正整数,每个十六进制数长度不...
  • C语言进制之间转换

    千次阅读 2019-04-19 08:58:33
    为了输出这三种数字格式stdio.h中printf(标准输出格式)中定义了三种输出方式:8进制 “%o"、10进制 “%d“、16进制“%x"。所以这三种数字格式转换就很方便了看个例子: 1 #include <stdio.h> 2 3 int ...
  • C语言的一些输出格式

    2017-01-18 18:39:00
    C语言的一些基本输出格式:   几个进制:二进制,8进制,16进制,10进制。  不管是8进制,还是10进制,以及16进制,在计算机内存中都是以二进制形式存储。  10进制是用来表示数据大小,有正负,有符号。...
  • 输入两个非负 10 进制整数 A 和 B (≤230−1)(≤2^{30}-1)(≤230−1),输出 A+B D (1<D≤10)进制数。 输入格式: 输入在一行中依次给出 3 个整数 A、B 和 D。 输出格式输出 A+B D 进制数。 输入样例: ...
  • c语言编程,输入十进制小数,以“1位符号位+8位指数位+23位格式的浮点计数法”输出
  • (比如 8bit char, 16 bit boolean 之类)然后再转成要求数据类型输出(printf)。 我打算先用fread一条一条读取这些文件到结构体数组中,。主要问题是我不知道各个数据类型,用不了fread!!! 老师...
  • C语言%d等输出格式意义 %d整型输出,%ld长整型输出。 %p指针变量地址,如果输出数据不够8位数,则左边补零。 %o以八进制数形式输出整数。 %x以十六进制数形式输出整数。 %u以十进制输出unsigned型数据(无符号...
  • 输入两个非负10进制整数A和B(30-1),输出A+BD (1 输入格式: 输入在一行中依次给出3个整数A、B和D。 输出格式输出A+BD进制数。 输入样例: 123 456 8 输出样例: 1103 #include int ...
  • 输入两个非负 10 进制整数 A 和 B (≤2​30​​−1),输出 A+B 的 D (1&lt;D≤10)进制数。 输入格式: ...动手写一下怎么转换进制的,翻译成C语言就行。 代码: #include &...
  • 1022D进制的A+B(20 分) 输入两个非负 10 进制整数A和B(≤2​30​​−1),输出A+B的D(1&lt;D≤10)进制数。 输入格式: 输入在一行中依次给出 3 个整数A、B和D。 输出格式输出A+B的D进制数。 输入样例...
  • C语言中表示输出类型的格式字符

    千次阅读 2019-05-18 08:04:12
    1、%d-以十进制形式输出带符号整数; 2、%o-以八进制形式输出无符号整数(不输出前缀O); 3、%x-以十六进制形式输出无符号...7、%g-以%f%e中较短的输出宽度输出单、双精度实数; 8、%c-输出单个字符; 9、%s-输出...
  • C语言中printf打出2进制与16进制

    万次阅读 2018-07-31 09:27:18
    打印二进制数并没有现成的格式数值,只能自行编写函数打印。 以下是一个打印二进制值的函数,通过位操作,逐位判断二进制值,并输出对应的值。 默认高位0不输出。 void print_bin(int n) { int l = sizeof(n)*8...
  • DES_Efun(MIN, MI, output,cs); for (i = 0; i; i++) { zc[i%4]=output[i]; if(i%4==3) { x=zc[0]*8+zc[1]*4+zc[2]*2+zc[3]*1; printf("%x",x); }
  • // 4+8*4+1*8*8=100用八进制表达时,不能少了最前那个0。否则计算机会通通当成10进制。C,C++规定,16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。其中x不区分大小写。(注意:0x中0....
  • PAT乙级1022 D进制的A+B (C语言) 题目 输入两个非负 10 进制整数 A 和 B (≤2^​30−1),输出 A+B 的 D (1<D≤10)进制数。 输入格式: 输入在一行中依次给出 3 个整数 A、B 和 D。 输出格式输出 A+B 的 D ...
  • C语言的各种格式输出 双精度浮点(长双精度)型数据用%lf输出 短整型数据用%u输出 %d 有符号10进制整数 %i 有符号10进制整数 %o 有符号8进制整数 %u 无符号10进制整数 %x 无符号16进制数字,并以小写abcdef...
  • 格式:存储类型 数据类型 变量名 存储类型: auto:默认使用 extern:声明其他文件当中定义变量 static:声明静态变量 register:声明寄存器变量 数据类型: 基本长度:1byte 最小长度:1bit 抓换:1byte ...
  • %e是以指数形式输出。 %a是以16进制输出数字,即将你输入...%o意思是8进制输出( 以8进制输出变量地址) 在x、o之前加上#,如%#x,%#o,在输出的数据前就会分别加上0x、0。 printf("%x\n", a); //输出结果为: ...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 311
精华内容 124
关键字:

c语言输出8进制的格式

c语言 订阅