zoukankan      html  css  js  c++  java
  • C语言之进制

    进制

    一种计数的方式.侧重点在于计数的时候是逢多少进一.

    1)      C语言可以识别的进制

    1. 二进制

          每一位. 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 1 0

          在C语言中,写一个二进制的数的方式就是在前面加一个 0b或者0B的前缀,二进制每一位是0或者1,逢2进1;

      2. 八进制

          每一位. 0 1 2 3 4 5 6 7 10 11

          在C语言中,写一个八进制的数的方式就是在前面加一个 0的前缀,逢8进1;

                            %o    将整型变量中得数据以八进制的形式输出

      3. 十进制

          每一位. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

            在C语言中直接写1个整数,那么默认就是十进制,逢10进1;

                   %d    将整型变量中得数据以十进制的形式输出 

      4. 十六进制

          每一位. 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12

          在C语言中,写一个十六进制的数的方式就是在前面加一个 0x或者0X的前缀,逢16进1;

                            %x    将整型变量中得数据以八进制的形式输出

    2).进制之间的转换

    a. 基本概念

        数码: 指的是这个数据的每一位的数字.

        数位: 数码在这个数中的位置.从右到左.依次递增从 0 开始.

        基数: 就是每一个数码可以有多少个数据来表示.

              (基数其实指的就是这个数的进制).

        位权: 数码乘以(基数的数位次方)

    任何数的0次方都为1.

    b. 十进制转换为二进制

     

        除2取余法. 将这个数除以2. 直到商为1或者0. 然后最后1个商和所有余数倒序. 就是这个十进制对应的二进制.

    例:

               10 的二进制是 1010

                178 的二进制是10110010

    c. 二进制转换为十进制

    加权法:将这个二进制数的每个数码的位权相加,就是这个二进制对应的十进制.

        10101  每1个数码的位权相加.

        第0位的位权: 1 * 2的0次方    1

          1      *                    0

          2      *                    4

          3      *                    0

         4        *                  16

    d.      十进制转换为八进制

    除8取余(与十进制转换为二进制方法类似)

    e.      八进制转换为十进制

    加权法:将八进制的每1个数码的位权相加 得到的就是其对应的十进制数.

           0342

        第0位: 2 * 8的0次方  2

          1     4 * 8的1      32

          2     3 * 8的2     192

    f. 二进制转换为八进制.

     

        三合一法则:将这个二进制从低位到高位每三位分成1组.高位不够补0将每1组转换为十进制.最后将每1组的十进制连起来. 就是这个二进制对应的八进制.

        001 011 100 110 011

         1    3   4    6   3

     

     

     g. 八进制转换为二进制.

     

        一拆三:将这个八进制数的没1个数码拆为1个三位的二进制数.把这些二进制数连起来.

        134674

        001 011 100 110 111 100

     

     

     h. 二进制转换为十六进制.

       

        四合一法则:将这个二进制从低位到高位每四位分成1组.高位不够补0

     将每1组转换为对应的十六进制.最后将每1组转换成功的十六进制数链接起来.

       

        11100101010111110111101010101

        0001 1100 1010 1011 1110 1111 0101 0101

           1    c    a     b     e     f      5    5

     

     k. 十六进制转换为二进制.

     

        一拆四法则:将这个十六进制的书的每1个数码拆为1个四位的二进制数,将其连起来.

        4dea761;

        0100 1101 1110 1010 0111 0110 0001

    不忘初心,方得始终
  • 相关阅读:
    cg纹理绑定顺序的一个错误
    难道一直是4 4 2 3的命?
    cg又一个数据绑定错误
    cg fp40的问题
    bibtex to bibitem
    qt ogl添加keyevent
    支付宝开发
    jQuery ajax的提交
    Java链接MySQL数据库的配置文件
    excel 函数的引用说明
  • 原文地址:https://www.cnblogs.com/jialiangliang/p/6034240.html
Copyright © 2011-2022 走看看