zoukankan      html  css  js  c++  java
  • 十进制数转换成任意进制数

    十进制转换为任意进制

    可以采用除基取余法将十进制整数转换为B进制整数:

    将十进制整数除以B,得到商和余数,余数对应为B进制数低位的值;

    继续让商再除以B,得到商和余数,。。。。。。

    重复此操作,直到商为0.

    如此得到的一系列余数就是相应B进制数的各位数字,

    先得到的是低位,后得到的是高位。

    代码实现如下:

    #include "stdio.h"

    void DecToN(long num,int B)

    {

       int a[100] ={0};

       int count=0;

       while(num>0)

      {  

       a[count++]=num%B;  //保存余数  

       num=num/B;  

     }

     for(int i = count - 1; i >=0; i--)  //输出

    {  

      if(a[i]>=10)//十六进制要特殊处理  

      {  

       printf("%c",'A'+a[i]-10);  

      }  

     else  

     {      

       printf("%d",a[i]);   }

      }  

    printf(" ");

    }

    int main(int argc, char* argv[])

    {

     long num =206;  

    int B = 16;    

    DecToN(num,B);

     return 0;

    }

  • 相关阅读:
    SpringSecurity开发
    SpringBoot 集成Spring Security
    Hexo
    gitbook使用
    Maze
    Party
    A. DZY Loves Chessboard
    1042B. Vitamins
    Petr and a Combination Lock
    433B.Kuriyama Mirai's Stones
  • 原文地址:https://www.cnblogs.com/marshhu/p/3434112.html
Copyright © 2011-2022 走看看