c语言进制转换代码
时间: 2023-12-25 13:29:07 浏览: 35
以下是一个C语言的进制转换代码的例子:
```c
#include <stdio.h>
int main() {
int decimal = 16;
printf("Decimal: %d\n", decimal);
// 十进制转二进制
printf("Binary: ");
for (int i = 31; i >= 0; i--) {
printf("%d", (decimal >> i) & 1);
}
printf("\n");
// 十进制转八进制
printf("Octal: %o\n", decimal);
// 十进制转十六进制
printf("Hexadecimal: %X\n", decimal);
return 0;
}
```
这个代码将一个十进制数转换为二进制、八进制和十六进制,并打印出结果。
相关问题
c语言进制转换递归
以下是C语言进制转换递归的代码示例:
```c
#include <stdio.h>
void convert(int num, int base) {
if (num == 0) {
return;
}
int remainder = num % base;
convert(num / base, base);
if (remainder < 10) {
printf("%d", remainder);
} else {
printf("%c", remainder - 10 + 'A');
}
}
int main() {
int num, base;
printf("请输入一个十进制数:");
scanf("%d", &num);
printf("请输入要转换的进制数:");
scanf("%d", &base);
printf("转换结果为:");
convert(num, base);
printf("\n");
return 0;
}
```
c语言进制转换程序
C语言可以编写进制转换程序,可以将十进制数转换为二进制、八进制或十六进制数,也可以将二进制、八进制或十六进制数转换为十进制数。下面是一个简单的十进制转二进制的例子:
```
#include <stdio.h>
int main() {
int decimal, binary = 0, base = 1, rem;
printf("Enter a decimal number: ");
scanf("%d", &decimal);
while (decimal > 0) {
rem = decimal % 2;
binary = binary + rem * base;
decimal = decimal / 2;
base = base * 10;
}
printf("The binary equivalent is %d", binary);
return 0;
}
```
这个程序首先要求用户输入一个十进制数,然后使用while循环将其转换为二进制数。在循环中,我们使用取余运算符(%)来获取每个二进制位的值,并使用乘法和加法运算符将其添加到二进制数中。最后,我们将二进制数打印出来。
类似的程序可以用来进行八进制和十六进制的转换,只需要将除数和乘数分别改为8和16即可。