分类: C/C++
2009-05-07 19:46:02
得到(746)10 = (1352)88|746 ---- 8|93 --- 2 --- 8|11 --- 5 --- 8|1 --- 3 -- 0 --- 1
对负数的进制转化要特别注意,具体代码如下:
Codes:
#include
using namespace std;
int digit;
void solve(int num){
if(num == 0)
return;
solve(num/digit);
printf("%c",num % digit < 10 ? num % digit + '0': num % digit - 10 + 'A');
}
int main() {
int num;
while(cin >> num >> digit) {
if(num > 0)
solve(num);
else if (!num)
cout << 0;
else {
cout << "-";
solve(-num);
}
cout << endl;
}
return 0;
}
@ fleap
chinaunix网友2009-10-29 15:37:27
我想问一下,void solve(int num){ if(num == 0) return; solve(num/digit); 是什么意思