c语言整型变量进制转换

C语言的整型变量默认是以十进制表示的,可以通过格式化输出函数(如printf)来将其转换成其他进制的字符串形式进行输出。以下是C语言整型变量在不同进制下的输出示例:

#include <stdio.h>

int main() {
    int decimal = 42;

    // 输出十六进制
    printf("Decimal %d is Hexadecimal %X\n", decimal, decimal);

    // 输出八进制
    printf("Decimal %d is Octal %o\n", decimal, decimal);

    // 输出二进制
    printf("Decimal %d is Binary ", decimal);
    for (int i = sizeof(decimal) * 8 - 1; i >= 0; --i) {
        printf("%d", (decimal >> i) & 1);
    }
    printf("\n");

    return 0;
}

以上代码的输出结果是:

Decimal 42 is Hexadecimal 2A
Decimal 42 is Octal 52
Decimal 42 is Binary 00101010

其中,%X、%o和%d分别表示以十六进制、八进制和十进制的形式输出整数变量。要输出二进制,可以用位运算和循环的方法逐位判断并输出。