用c语言写一个进制转换程序,可以输出任意一个数字的八进制、十进制、十六进制 !
时间: 2024-05-11 22:16:31 浏览: 157
这是个用C写的进制转换程序,用于输出显示十进制,二进制,十六进制,八进制
5星 · 资源好评率100%
好的,以下是用C语言实现的进制转换程序代码:
```c
#include <stdio.h>
#include <stdlib.h>
void dec2bin(int d); // 十进制转二进制
void dec2oct(int d); // 十进制转八进制
void dec2hex(int d); // 十进制转十六进制
int main(void) {
int d;
printf("请输入一个十进制数:");
scanf("%d", &d);
printf("八进制数为:");
dec2oct(d);
printf("十进制数为:%d\n", d);
printf("十六进制数为:");
dec2hex(d);
return 0;
}
void dec2bin(int d) {
int i = 0;
char bin[32] = {0};
while (d) {
bin[i++] = d % 2 + '0';
d /= 2;
}
while (i--) {
printf("%c", bin[i]);
}
printf("\n");
}
void dec2oct(int d) {
printf("%o\n", d);
}
void dec2hex(int d) {
printf("%X\n", d);
}
```
以上代码中,dec2bin()函数使用“短除法”将十进制数转成二进制数,主要思路是每次将十进制数除以2,得到商和余数,将余数记录下来,再用商除以2,一直重复,知道商为0为止,然后按照倒序的方式输出余数序列,即为二进制数。
dec2oct()函数和dec2hex()函数分别使用printf()函数的“%o”和“%X”格式化输出,即可直接输出对应进制数。
希望你能顺利使用以上代码完成进制转换的功能,如果有任何疑问,欢迎随时向我提问。
阅读全文