• 十进制数转换成任意进制数


    十进制转换为任意进制

    可以采用除基取余法将十进制整数转换为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;

    }

  • 相关阅读:
    linux系统安装Mysql
    makefile通用模板
    makefile常用函数
    mysqlconnector安装
    linux添加默认路由route
    .h文件与.hpp文件的区别
    ubuntu20优化开机启动
    [javascript]js原型链以及原型链继承
    webpack4.*入门笔记
    图像编程:图片大小关系
  • 原文地址:https://www.cnblogs.com/marshhu/p/3434112.html
Copyright © 2020-2023  润新知