因此,即時創建遞歸函數以將數字從基數2-10轉換爲基數2-16時出現問題。我需要它返回一個字符串(顯然,由於基數大於10)。使用遞歸將一個基數中的數字轉換爲另一個基數
這裏是我的功能:
主要會這樣稱呼它:
answer = baseConversion(101, 10, 2);
我有十六進制爲常量字符:
const char Hex[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char * baseConverter(int number,int currbase, int base){
if(currbase != 10){
number = base10Converter(number, currbase); //converts the number to base of 10
currbase = 10;
}
if(number == 0 || base==10){
return number;
}
int r = number%base;
printf("%c", Hex[r]);
//return (number % base) + 10*baseConverter(number /base, currbase, base); // this gives the answer as an integer.
return Hex[r]+ && baseConverter(number /base, currbase, base) // I dont know what to add here to add the characters together
}
我需要我的return語句和遞歸幫助呼叫。 我是否需要在函數中聲明一個char數組,然後將從十六進制[r]得到的字符添加到它中?如果是這樣,我該怎麼做,因爲我不能改變參數
功能base10Converter的內容是什麼 – 2014-10-18 23:17:36