c 语言 进制、位元

进制的种类

  • 二进制

    • 0b or 0B开头
    • 遇2进1
    • 范围: 0、1

  • 八进制

    • 0开头
    • 遇8进1
    • 范围: 0~7

  • 十进制

    • 默认

  • 十六进制

    • 0x or 0X开头
    • 遇16进1
    • 0~9、A、B、C、D、E、F
int number = 12;

//输出10进制 = 12
pringf("%d",number);

//输出8进制 = 014
pringf("%o",number);

//输出16进制 = 0xc
pringf("%x",number);

位元运算

  • 左移 <<
    • x << n = x * 2的n次方
  • 右移>>
    • x >>n = x / 2的n次方

判断奇偶数

  • a&1 == 0为偶数
  • a&1 == 1为奇数

二进制换算

void printBinary(int number){
    //记录现在第几位
    //sizeof(number)*8 -1
    int temp = (sizeof(number) << 3) -1;
    
    while (temp>=0) {
        int value = number >> temp & 1;
        printf("%d", value);
        temp--;
        
        //四位数空格
        if ((temp+1) % 4 == 0) {
            printf("  ");
        }
    }
}



版权声明:本文为Eve28原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。