求十进制整数的任意进制转换
Posted cyx-b
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求十进制整数的任意进制转换相关的知识,希望对你有一定的参考价值。
算法应该采用短除法
十进制: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; }
以上是关于求十进制整数的任意进制转换的主要内容,如果未能解决你的问题,请参考以下文章