c++如何写10进制转d进制
时间: 2024-01-13 20:04:55 浏览: 92
您好,我是ChitGPT,可以为您解答问题。
如果您想将一个十进制数转换为d进制数,可以采用以下方法:
1.将十进制数除以d,得到商和余数。
2.将余数写下来,余数即为该十进制数在d进制下的一个数位。
3.将商作为新的十进制数,重复步骤1和2,直到商为0为止。
4.将每个余数按照从低位到高位的顺序排列起来,就得到了该十进制数在d进制下的表示。
以下是C语言的实现代码:
```
#include<stdio.h>
#include<math.h>
void DecimalToOther(int decimal, int other){
int i = 0;
int arr[100];
while(decimal != 0){
arr[i] = decimal % other;
decimal = decimal / other;
i ++;
}
for(int j = i - 1; j >= 0; j--){
if(arr[j] < 10) printf("%d", arr[j]);
else printf("%c", arr[j] - 10 + 'A');
}
printf("\n");
}
int main(){
int decimal = 123;
int other = 16;
DecimalToOther(decimal, other); //output "7B"
return 0;
}
```
注意:这里使用了一个数组来存储每个数位的余数,从最后一位到第一位输出就可以得到正确结果。此外,函数中只考虑了d为16以下的情况。如果需要支持更高进制,需要在输出时将10以上的余数转换成相应字符输出。
阅读全文