用C++设计一个十进制整数转换为二、八、十六进制的转换程序,通过输入需要转换的十 进制整数,选择或者输入二、八、十六进制,输出转换后的整数值
时间: 2023-06-09 18:06:19 浏览: 293
二进制、八进制、十六进制转换方式
好的,我知道了您的问题。以下是使用C语言编写的十进制整数转换为二、八、十六进制的转换程序:
```
#include <stdio.h>
int main() {
int decimal, base;
printf("请输入一个十进制整数:");
scanf("%d", &decimal);
printf("请输入需要转换的进制数(2、8、16):");
scanf("%d", &base);
if (base == 2) {
int binary = 0, digit = 1;
while (decimal > 0) {
binary += (decimal % 2) * digit;
decimal /= 2;
digit *= 10;
}
printf("转换后的二进制数为:%d\n", binary);
} else if (base == 8) {
int octal = 0, digit = 1;
while (decimal > 0) {
octal += (decimal % 8) * digit;
decimal /= 8;
digit *= 10;
}
printf("转换后的八进制数为:%d\n", octal);
} else if (base == 16) {
char hex[100];
int i = 0, remainder;
while (decimal > 0) {
remainder = decimal % 16;
if (remainder < 10) {
hex[i++] = 48 + remainder;
} else {
hex[i++] = 55 + remainder;
}
decimal /= 16;
}
printf("转换后的十六进制数为:");
for (int j = i - 1; j >= 0; j--) {
printf("%c", hex[j]);
}
printf("\n");
} else {
printf("您输入的进制数无效,请重新输入!\n");
}
return 0;
}
```
输入十进制整数和需要转换的进制数后,程序会根据选择的进制数进行相应的转换,并输出转换后的结果。注意,当输入的进制数不是2、8、16时,程序会提示输入进制数无效并要求重新输入。
希望这个程序可以帮到您。
阅读全文