c语言进制转换代码
时间: 2023-12-25 09:29:07 浏览: 111
以下是一个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语言中,将十进制数转换为十一进制通常涉及到循环和除法操作,因为十进制转其他进制的基本原理就是不断地除以目标进制,并记录余数。这里是一个简单的示例代码片段,展示了如何将一个整数从十进制转换为十一进制:
```c
#include <stdio.h>
#include <string.h>
void dec_to_base11(int decimal, char base11[]) {
int i = 0, quotient;
while (decimal > 0) {
quotient = decimal / 11;
base11[i++] = decimal - (quotient * 11) + '0'; // 将余数转换为对应的字符('0' 到 '9')
decimal = quotient;
}
base11[i] = '\0'; // 添加字符串结束符
// 反转数组,因为数组是从低到高存储的,我们需要从高位显示
for (int j = 0; j < (strlen(base11) / 2); j++) {
char temp = base11[j];
base11[j] = base11[strlen(base11) - j - 1] = temp;
}
printf("十进制 %d 转换为十一进制为: %s\n", decimal, base11);
}
int main() {
int decimal_num = 1234;
char base11[11]; // 十一位用于表示11进制
dec_to_base11(decimal_num, base11);
return 0;
}
```
在这个例子中,`dec_to_base11` 函数首先计算十进制除以11的商和余数,然后将余数添加到字符串中。最后,为了保持正确的顺序(因为在十进制中低位先加,但在十一进制中高位先显示),我们将字符串反转。
阅读全文