用c++写一个进制转换
时间: 2024-01-05 08:48:48 浏览: 93
C++进制转换
以下是一个将十进制转换为二进制、八进制和十六进制的示例程序:
```c
#include <stdio.h>
#include <stdlib.h>
void decimalToBinary(int decimal);
void decimalToOctal(int decimal);
void decimalToHexadecimal(int decimal);
int main() {
int decimal;
printf("Enter a decimal number: ");
scanf("%d", &decimal);
decimalToBinary(decimal);
decimalToOctal(decimal);
decimalToHexadecimal(decimal);
return 0;
}
void decimalToBinary(int decimal) {
int binary[32], i = 0;
while (decimal > 0) {
binary[i] = decimal % 2;
decimal /= 2;
i++;
}
printf("Binary: ");
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
printf("\n");
}
void decimalToOctal(int decimal) {
int octal[32], i = 0;
while (decimal > 0) {
octal[i] = decimal % 8;
decimal /= 8;
i++;
}
printf("Octal: ");
for (int j = i - 1; j >= 0; j--) {
printf("%d", octal[j]);
}
printf("\n");
}
void decimalToHexadecimal(int decimal) {
char hexadecimal[32];
int i = 0;
while (decimal > 0) {
int remainder = decimal % 16;
if (remainder < 10) {
hexadecimal[i] = remainder + '0';
} else {
hexadecimal[i] = remainder + 55;
}
decimal /= 16;
i++;
}
printf("Hexadecimal: ");
for (int j = i - 1; j >= 0; j--) {
printf("%c", hexadecimal[j]);
}
printf("\n");
}
```
程序接受一个十进制数作为输入,然后将其转换为二进制、八进制和十六进制并输出。本程序使用循环和数组来进行转换,并在输出时使用 printf 函数。
阅读全文