日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

二进制转16进制

發布時間:2024/8/26 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 二进制转16进制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述
給定一個二進制表示的非負整數,將其轉換為十六進制數。
要求使用函數編寫程序:函數原型如下:
voidconvert(char*input,char*output);
變量input為讀入的二進制字符串,變量output為函數中要輸出的十六進制字符串

輸入
輸入數據有多組,第一行為數據的組數T,接下來有T組數據。
每組數據占一行,每行為一個二進制整數(不含多余的前導0),最多1000位。

輸出
對于每組測試數據首先輸出"Case#:",#表示第幾組測試數據,接著輸出對應的十六進制數,字母用大寫表示,每組測試結果占一行。

樣例輸入
2
1111
10100100

樣例輸出
Case1:F
Case2:A4

提示
5='5'-'0';

 1 #include <stdio.h>
 2 #include <math.h>
 3 #include <string.h>
 4 #include <stdlib.h>
 5 void convert( char *input, char *output);
 6 
 7 int main(int argc, char const *argv[])
 8 {
 9     int T;
10     int i;
11     char input[1000]= {0};
12     char output[256]= {0};
13     char format[32] = {0};
14     char total[1024] = {0};
15    scanf("%d",&T);//多組輸入
16   
17    for(i=0;i<T;i++)
18    {
19     fflush(stdin);
20     gets(input);
21     convert(input,output);
22     
23     sprintf(format, "
Case %d: ", i);
24     strcat(total, format);
25     strcat(total, output);
26    }
27    
28   printf("%s
", total);
29    
30     return 0;
31 }
32 void convert( char *input, char *output)
33 {
34     int len = strlen(input);
35     int pos=len/4+1;
36     int j=0;
37     int i=0;
38     int sum=0;
39     if(len%4==0)
40     {
41         pos=pos-1;
42     }
43     while(len>0)
44     {
45         sum=0;
46         for(i=0;i<4&&len>0;i++,len--)
47         {
48             
49             sum=sum+(input[len-1]-'0')*pow(2,i);
50         }
51         //轉成16進制字符
52         sum = sum + '0';
53         if(sum>'9'&&sum<='9'+7)
54         {
55             sum=sum+7;
56         }
57         else if(sum>'9'+7)
58         {
59             printf("您輸入的不是正確的2進制數!
");
60             exit(0);
61         }
62         output[--pos]=sum;
63 
64     }
65         
66 }

View Code

總結

以上是生活随笔為你收集整理的二进制转16进制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。