码迷,mamicode.com
首页 > 其他好文 > 详细

基础练习 十六进制转换八进制

时间:2016-01-19 00:13:15      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <cstdlib>
 5 using namespace std;
 6 
 7 char str[100010];
 8 int a[5000000];
 9 
10 int main()
11 {
12     int i,k,j,n,l;
13     scanf("%d",&k);
14     while(k--)
15     {
16         scanf("%s",str);
17         l=strlen(str);
18         memset(a,0,sizeof(a));    j=0;
19         for(i=l-1;i>=0;i--)
20         {
21             if(str[i]==A)
22             {
23                 a[j++]=0;a[j++]=1;a[j++]=0;a[j++]=1;
24             }
25             else 
26             if(str[i]==B) {
27                 a[j++]=1;a[j++]=1;a[j++]=0;a[j++]=1;
28             } else 
29             if(str[i]==C)
30             {
31                 a[j++]=0;a[j++]=0;a[j++]=1;a[j++]=1;
32             }    else 
33             if(str[i]==D)    {
34                 a[j++]=1;a[j++]=0;a[j++]=1;a[j++]=1;
35             }    else 
36             if(str[i]==E)
37             {
38                 a[j++]=0;a[j++]=1;a[j++]=1;a[j++]=1;
39             }
40             else 
41             if(str[i]==F)
42             {
43                 a[j++]=1;a[j++]=1;a[j++]=1;a[j++]=1;
44             } else {
45                 n=str[i]-0;
46                 int g=j;
47                 while(n)
48                 {
49                     a[j++]=n%2;
50                     n=n/2;
51                 }
52                 j=g+4;
53             }
54             
55         }
56         int e,d,h=0;
57         for(i=0;i<j;i+=3)
58         {
59             d=1;n=0;
60             for(e=i;e<i+3;++e){
61                 n+=a[e]*d;d*=2;
62             }
63             a[h++]=n;
64         }
65         for(i=h-1;i>=0;i--)
66         if(a[i]!=0) break;
67         for(j=i;j>=0;j--)
68         printf("%d",a[j]);
69         printf("\n");
70     }
71     return 0;
72 }
View Code

 

基础练习 十六进制转换八进制

标签:

原文地址:http://www.cnblogs.com/WDKER/p/5140781.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!