美文网首页
进制转换

进制转换

作者: 小小的一只_01 | 来源:发表于2018-10-25 18:06 被阅读0次

    我们常用的进制有:二进制、八进制、十进制、十六进制

    二进制:0-1
    八进制:0-7
    十进制:0-9
    十六进制:0-f

    1、十进制转换为二进制
      (1)、整数部分:除2取余法,即每次将整数部分除2,直到商为0为止,将余数从后往前数即是二进制数

    例:将十进制的100转换为二进制
    
    100 / 2 = 50    --- 0
    50 / 2 = 25     --- 0
    25 / 2 = 12     --- 1
    12 / 2 = 6      --- 0
    6 / 2 = 3       --- 0
    3 /2 = 1        --- 1
    1 / 2 = 0       --- 1
    
    将余数从后往前数,所以十进制的100就是1100100
    

      (2)、小数部分:乘2取整法,即将小数部分乘以2取整数部分,剩下的小数部分继续乘2,直到小数部分为0为止,如果小数部分永远不为0,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向前入一位。将整数部分从前往后数即是二进制数

    例1:将十进制的0.125转换为二进制
    
    0.125 * 2 = 0.25  --- 0
    0.25 * 2 = 0.5    --- 0
    0.5 * 2 = 1.0     --- 1
    
    将整数部分从前往后数,所以十进制的0.125是0.001
    
    例2:将0.45转换为二进制(保留到小数点第四位) 
      
    0.45 * 2 = 0.9  --- 0
    0.9 * 2 = 1.8   --- 1
    0.8 * 2 = 1.6   --- 1
    0.6 * 2 = 1.2   --- 1
    
    将整数部分从前往后数,所以十进制的0.45保留四位小数为是0.0111
    

    2、二进制转换为十进制
      按权位相加,即将二进制每位上的数乘以权,然后相加之和即是十进制数

    例:将101.101 转换为十进制
    整数部分:2^2 + 2^0 = 5
    小数部分:2^(-1) + 2^(-3) = 1/2 + 1/8 = 0.5 + 0.125 = 0.625
    十进制: 2^2 + 2^0 + 2^(-1) + 2^(-3)  = 5.625
    

    3、二进制转换为八进制
      将二进制数整数部分从右到左每三位分成一组,将二进制小数部分从左到右每三位分成一组,不足三位补0,每三位代表一个八位进制数

    例:将二进制数1101100.01转换为八进制 
    1101100.01 => 001 101 100.010
    整数部分:
      2^0 = 1
      2^2 + 2^0 = 5
      2^2 = 4
    小数部分:
      2^1 = 2
    八进制:154.2
    

    4、二进制转换为十六进制
      将二进制数整数部分从右到左每四位分成一组,将二进制小数部分从左到右每四位分成一组,不足四位补0,每四位代表一个十六位进制数

    例:将二进制数1101100.01转换为八进制 
    1101100.01 => 0110 1100.0100
    整数部分:
      2^2 + 2^1 = 6
      2^3 + 2^2 = c
    小数部分:
      2^2 = 4
    八进制:6c.4
    

    5、其他进制转换
      (1)、十进制转八进制,整数部分除8取余法,小数部分乘8取整法

    例:将十进制数796.703125转换为八进制数 
    整数部分(从后往前读):
        796/8 = 99      --- 4
        99/8 = 12       --- 3
        12/8 = 1        --- 4
        1/8 = 0         --- 1
    小数部分(从前往后读)
        0.703125 x 8= 5.625 --- 5
        0.625 x 8 = 5.0     --- 5
    八进制:1434.55
    

      (2)、八进制转换为十进制,按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。

    例:将八进制数127.42转换为十进制 
    整数部分:
      1x8^2 + 2x8^1 + 7x8^0 = 87
    小数部分:
      4x8^(-1) = 0.5
      2x8^(-2) = 0.03125
    十进制:87.53125
    

      (3)、十进制转十六进制,整数部分除16取余法,小数部分乘16取整法

    例:将十进制数796.703125转换为十六进制数 
    整数部分(从后往前读):
        796/16 = 49      --- c
        49/16 = 3        --- 1
        3/16 = 0         --- 3
    小数部分(从前往后读)
        0.703125 x 16= 11.25 --- b
        0.25 x 26 = 4.0      --- 4
    十六进制:31c.b4
    

      (4)、十六进制转换为十进制,按权相加法,即将十六进制每位上的数乘以位权,然后相加之和即是十进制数。

    例:将八进制数127.42转换为十进制
    整数部分:
      1x16^2 + 2x16^1 + 7x16^0 = 295
    小数部分:
      4x16^(-1) = 0.25
      2x16^(-2) = 0.0078125
    十进制:295.2578125
    

      (5)、十六进制转换为八进制

    1.先转换为十进制再相互转换
    2.先转换为二进制再相互转换
    

    相关文章

      网友评论

          本文标题:进制转换

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