仁兄们帮个忙,”由十进制分别转为二,八,十六进制的程序. 希望能够帮我解决这个问题.谢谢各位.

来源:百度知道 编辑:UC知道 时间:2024/06/17 17:53:38
仁兄们帮小弟忙”由十进制分别转为二,八,十六进制的程序. 希望能够帮我解决这个问题.谢谢各位哥哥姐姐们了.

#include <string.h>
#include <stdio.h>

/*******************************************************
十进制转N进制
IN:
nDec输入的十进制数
nRadix要转换的进制(二进制,八进制,十六进制...)
OUT:
输出的转换后的用N进制表示的字符串
*******************************************************/
void DecToBin(int nDec, int nRadix, char* szBin)
{
if(nDec == 0) return;
DecToBin(nDec / nRadix, nRadix, szBin);
char szBit[2];
int Temp = nDec % nRadix;
if (Temp < 10)
{
sprintf(szBit, "%d", Temp);
}
else
{
sprintf(szBit, "%c", Temp -10 + 'A');
}

strcat(szBin, szBit);
}

int main()
{
char szBin[1024] = "";
int nDec = 31;
int nRadix = 16;
DecToBin(nDec, nRadix, szBin);
printf("%d = %s\n", nDec, szBin);
return 0;
}