zoukankan      html  css  js  c++  java
  • 进制转化

    将N转化成R进制

    View Code
     1 /*进制转换
     2 将一个数n装化成R进制(2<=R<=16)
     3 
     4 Sample Input
     5 7 2
     6 23 12
     7 -4 3
     8 
     9 Sample output
    10 111
    11 1B
    12 -11
    13 */
    14 #include<stdio.h>
    15 int main()
    16 {
    17     int n,r,i,k,t;
    18     char f[1000],g[18]={"0123456789ABCDEF"};
    19     while(scanf("%d%d",&n,&r)!=-1)
    20     {t=0;
    21         if(n<0)
    22         {
    23             n=-n;
    24             t=1;
    25         }
    26 
    27         k=0;
    28         while(n!=0)
    29         {
    30             f[k++]=g[n%r];
    31             n=n/r;
    32         }
    33         if(t==1)
    34             printf("-");
    35         for(i=k-1;i>=0;i--)
    36             printf("%c",f[i]);
    37         printf("\n");
    38     }
    39     return 0;
    40 }

    二进制~十六进制、八进制~十进制、十进制~八进制

    View Code
     1 //二进制转化成十六进制
     2 #include<stdio.h>
     3 #include<string.h>
     4 
     5 int main()
     6 {
     7     char s[100];
     8     int i,sum,f[10000];
     9     f[0]=1;
    10     for(i=1;i<32;i++)
    11         f[i]=f[i-1]*2;
    12     scanf("%s",s);
    13     strrev(s);
    14     sum=0;
    15     for(i=0;s[i]!='\0';i++)
    16         sum=sum+(s[i]-'0')*f[i];
    17     printf("%x\n",sum);
    18     return 0;
    19 }
    20 
    21 //八进制转化成十进制
    22 #include<stdio.h>
    23 #include<string.h>
    24 int main()
    25 {
    26     char s[1000];
    27     int i,j,sum;
    28     scanf("%s",s);
    29     strrev(s);
    30     sum=0;j=1;
    31     for(i=0;s[i]!='\0';i++)
    32     {
    33         sum=sum+(s[i]-'0')*j;
    34         j=j*8;
    35     }
    36     printf("%d\n",sum);
    37     return 0;
    38 }
    39 //十进制转化成八进制
    40 #include<stdio.h>
    41 #include<string.h>
    42 int main()
    43 {
    44     int n,k;
    45     char s[1000];
    46     scanf("%d",&n);
    47     k=0;
    48     while(n!=0)
    49     {
    50         s[k++]=n%8+'0';
    51         n=n/8;
    52     }
    53     s[k]='\0';
    54     strrev(s);
    55     puts(s);
    56     return 0;
    57 }
  • 相关阅读:
    elastic-job-lite-console运维平台的部署使用
    elastic-job简单入门
    23种设计模式学习之单例模式
    23种设计模式学习之抽象工厂模式
    23种设计模式学习之静态工厂方法模式
    微信公众号开发之-回调的所有类型
    nginx学习-超详细nginx配置文件
    nginx学习-简介
    23种设计模式学习之一
    linux 下jenkins安装
  • 原文地址:https://www.cnblogs.com/zlyblog/p/2557272.html
Copyright © 2011-2022 走看看