Sian 发表于 2014-2-28 12:08:14

C语言中各进制表示

代码示例:
#include <stdio.h>

int main() {

    // 默认情况下表示为十进制
    int number = 12;

    // 二进制表示,使用前缀"0b"或"0B"
    int number2 = 0b1100;

    // 八进制表示,使用前缀"0"
    int number3 = 014;

    // 十六进制表示,使用前缀"0x"
    int number4 = 0xc;

    printf("%d,%d,%d,%d\n", number, number2, number3, number4);

}
输出结果为:12,12,12,12




Sian 发表于 2014-2-28 14:40:24

本帖最后由 Sian 于 2014-2-28 14:42 编辑

输出格式同样做相关转换:
#include <stdio.h>

int main() {

    // 默认情况下表示为十进制
    int number = 12;

    // 二进制表示,使用前缀"0b"或"0B"
    int number2 = 0b1100;

    // 八进制表示,使用前缀"0"
    int number3 = 014;

    // 十六进制表示,使用前缀"0x"
    int number4 = 0xc;

    printf("%d,%o,%x,%X\n", number, number2, number3, number4);

}
%o:八进制输出(字母o)
%x:十六进制输出(小写)
%X:十六进制输出(大写)
输出结果为:
12,14,c,C





Sian 发表于 2014-2-28 15:13:07

如果是小数(double型)的,在前面加0则不表示八进制,依然是十进制,如:
#include <stdio.h>

int main() {

    double a = 00.045;

    printf("%f\n", a);

    return 0;
}

输出结果为:0.045000


页: [1]
查看完整版本: C语言中各进制表示