c语言进制转换代码
以下是一个简单的C语言代码示例,用于将一个十进制数转换为其他进制的字符串表示形式:
c#include <stdio.h>
void decimalToBinaryOctalHex(int decimalNum) {
printf("Decimal: %d\n", decimalNum);
printf("Binary: %b\n", decimalNum);
printf("Octal: %o\n", decimalNum);
printf("Hexadecimal: %x\n", decimalNum);
}
int main() {
int decimalNum;
printf("请输入一个十进制数: ");
scanf("%d", &decimalNum);
decimalToBinaryOctalHex(decimalNum);
return 0;
}
此代码首先要求用户输入一个十进制数,然后使用printf
函数将其转换为二进制、八进制和十六进制,并将结果打印出来。
%b
格式说明符在标准C语言中并不存在,但在一些编译器中可能有效。如果它不起作用,你可以使用其他方法手动进行二进制转换。例如:
cvoid decimalToBinary(int decimalNum) {
int binaryNum[32];
int i = 0;
while (decimalNum > 0) {
binaryNum[i] = decimalNum % 2;
decimalNum = decimalNum / 2;
i++;
}
printf("Binary: ");
for (int j = i - 1; j >= 0; j--) {
printf("%d", binaryNum[j]);
}
printf("\n");
}
在这种情况下,我们将十进制数转换为二进制,并将结果以整数数组的形式存储,然后逆序打印以获得正确的二进制表示形式。你可以根据需要调用decimalToBinary
函数。
当需要
c#include <stdio.h>
void decimalToBinary(int decimalNum) {
int binaryNum[32];
int i = 0;
while (decimalNum > 0) {
binaryNum[i] = decimalNum % 2;
decimalNum = decimalNum / 2;
i++;
}
printf("Binary: ");
for (int j = i - 1; j >= 0; j--) {
printf("%d", binaryNum[j]);
}
printf("\n");
}
void decimalToOctal(int decimalNum) {
printf("Octal: %o\n", decimalNum);
}
void decimalToHexadecimal(int decimalNum) {
printf("Hexadecimal: %x\n", decimalNum);
}
int main() {
int decimalNum;
printf("请输入一个十进制数: ");
scanf("%d", &decimalNum);
decimalToBinary(decimalNum);
decimalToOctal(decimalNum);
decimalToHexadecimal(decimalNum);
return 0;
}
此示例在main
函数中依次调用decimalToBinary
、decimalToOctal
和decimalToHexadecimal
函数,以将用户输入的十进制数转换为二进制、八进制和十六进制,并将结果打印出来。
你可以根据需要