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语言中并不存在,但在一些编译器中可能有效。如果它不起作用,你可以使用其他方法手动进行二进制转换。例如:

c
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"); }

在这种情况下,我们将十进制数转换为二进制,并将结果以整数数组的形式存储,然后逆序打印以获得正确的二进制表示形式。你可以根据需要调用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函数中依次调用decimalToBinarydecimalToOctaldecimalToHexadecimal函数,以将用户输入的十进制数转换为二进制、八进制和十六进制,并将结果打印出来。

你可以根据需要