#include<iostream>
using namespace std;
void conversion( unsigned N ,const int d,int mod[100],int *pcount);
int main(void){
//将十进制整数(N)转换为d(2,8,16)进制
//算法思路:每次 N div d 之后的余数,直到N 为0,反向
//测试用例{0,1,2504}
int N = 1348;
const int d = 8;
int mod[100]={0};//用来存储 N%d
int count = 0 ;//记录数组中的元素个数
int *pcount = &count;
conversion(N,d,mod,pcount);
printf("十进制的整数%d转换为%d进制后为:",N,d);
count--;
while(count>=0){//反向输出数组中的所存的元素,也就是转换后的结果
printf("%d",mod[count]);
count--;
}
return 0;
}
void conversion( unsigned int N ,const int d,int mod[100],int *pcount){
while( N != 0){
mod[*pcount] = N % d;
*pcount= *pcount+1;
N = N/d;
}
return ;
}
C语言之 进制转换(循环)
最新推荐文章于 2022-01-06 21:05:44 发布