美文网首页程序员
【C语言笔记】<七> 进制

【C语言笔记】<七> 进制

作者: 大基本功 | 来源:发表于2018-04-23 20:23 被阅读43次
    C语言中进制的输出
    int main(int argc, const char * argv[])
    {
    //     1.默认就是10进制
        int num = 12;
    //    2.在前面加上一个0就代表八进制
        int num1 = 014;
    //    %d是以十进制的方式输出一个整数
        printf("%d\n", num1);
    //    %o是以八进制的方式输出一个整数
        printf("%o\n", num);
    //    在数值前面加上0b就代表二进制
        int num2 = 0b1100;
        printf("%d\n", num2);
    //    在数值前面加上0x就代表十六进制
        int num3 = 0xc;
        printf("%d\n", num3);
    //     %x是以十六进制的方式输出一个整数
        printf("%x\n", num);    
        return 0;
    }
    
    进制转换
    int main(int argc, const char * argv[])
    {  /*
         十进制  -> 二进制
         9
         转换原理:除2取余 倒序读取
         9/2  4  1
         4/2  2  0
         2/2  1  0
         1/2  0  1
         9 --> 1001
         
         
         二进制 --> 十进制
         1001
         转换原理:乘以2的幂数(幂数从0开始), 然后相加
         
         1 * 2(0) = 1
         0 * 2(1) = 0
         0 * 2(2) = 0
         1 * 2(3) = 8
         
         1 + 0 + 0 + 8 = 9
         
        1 1 1  1 1
        16 8 4  2 1
    
         
         N位二进制的取值范围
         1位  取值范围 0~1  0~2的1次方-1
         2位  取值范围 0~3  0~2的2次方-1
         3位  取值范围 0~7  0~2的3次方-1
         n位  取值范围  0~2(n)-1
         
         000
         001
         010
         011
         100
         101
         110
         111
         
         
         11111 0~ (32-1)
         
         
         二进制转换为八进制  进制越大表示的位数就越短
         规律:三个二进制位代表一个八进制位  
         因为3位的最大取值是7 而八进制是逢八进一
         
         1个字节 8位
         000   0
         001   1
         100   4
         
         014
    
         
         二进制转换为十六进制
         规律:四个二进制位代表一个十六进制位
         因为4位的最大取值是15, 而十六进制是逢十六进一
         
         0000 0
         1100 c
         
         0xc
         
         */
        printf("%d\n", 0b1001);
        
        return 0;
    }
    
    

    相关文章

      网友评论

        本文标题:【C语言笔记】<七> 进制

        本文链接:https://www.haomeiwen.com/subject/wbxzkftx.html