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

求十进制整数的任意进制转换

时间:2020-05-02 10:11:52      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:不难   长度   二进制   ios   png   bsp   ima   pac   span   

算法应该采用短除法

十进制:10 转换成 二进制:1010

 (第一次) 10%2 = 0 , 10/2 = 5

? (第二次) 5 % 2 = 1 , 5/2 = 2

? (第三次) 2 % 2 = 0 , 2/2 = 1

? (第四次) 1 % 2 = 1 , 1/2 = 0
不难看出,短除算法计算的结果是从低位开始的(逆序的)

#include<iostream>
using namespace std;

void change(int a,int b)
{
    int i,cnt=0;       //cnt来数转换后的长度
    int number[500]={0};
    while(a)            //a为0时结束运算
    {
        number[cnt]=a%b;
        cnt++;
        a=a/b;
    }
    for(i=cnt-1;i>=0;i--)      //将转换后的结果逆序输出
    {
        cout<<number[i];
    }
}

int main()
{
    int x,n;
    cin>>x>>n;  //输入十进制整数和进制类型
    change(x,n);
    return 0;
}

 技术图片

 

求十进制整数的任意进制转换

标签:不难   长度   二进制   ios   png   bsp   ima   pac   span   

原文地址:https://www.cnblogs.com/cyx-b/p/12816752.html

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