进制转换

作者: 应酬 | 来源:发表于2018-12-19 19:00 被阅读0次

    二进制、八进制、十六进制数转换成十进制

    十进制可以有多位组成,根据十进制的运算规则:逢10进1,借1当10,从右向左依次为个位、十位、百位、千位、万位...

    (1024)10 = 1×10^3+0×10^2+2×10^1+4×10^0

    = 1000+0+20+4

    =(1024)10

    进制转换 进制转换

    由此类似,那么二进制的运算规则:逢2进1,借1当2,也可以由多位数组成,从右向左分别为1位、2位、4位、8位、16位...

    1位十六进制等于4位二进制
    1位八进制等于3位二进制

    (在此可以类比十进制1101,由1个1000,1个100,0个10,1个1组成。)

    所以,二进制数1101由1个8,1个4,0个2,1个1组成。按各位的权列出:

    (1101)2 = 1×2^3+1×2^2+0×2^1+1×2^0

    = 8+4+0+1

    =(13)10

    这种权展开式可以很方便将二进制转换为十进制。

    同理,将八进制数1024转换为十进制数

    (1024)8 = 1×8^3+0×8^2+2×8^1+4×8^0

    = 512+0+16+4

    =(532)10

    将十六进制数2B5F转换为十进制数

    (2B5F)16 = 2×16^3+B×16^2+5×16^1+F×16^0

    = 2×16^3+11×16^2+5×16^1+15×16^0

    = 8192+2816+80+15

    =(11103)10

    由此我们可以得到一个非十进制数转换为十进制数的自定义公式:

    (X)Z = Xn-1×Z^n-1+ Xn-2×Z^n-2+…+ X1×Z^1+ X0×Z^0

    =(Y)10

    X表示一个非二进制(多位),Y表示一个十进制数(多位),Z表示各进制的基数,n表示位数。

    4、十进制转换成二进制、十六进制、八进制

    十进制转换成二进制整数就通常采用“除2取余,逆序排列”的方法。具体做法是用2整除十进制整数,可以得到一个商和余数,再用2去除商,又会得到一个商和余数,如此反复,直到商为0停止。再把先得到的余数作为二进制低位有效位,后得到的余数作为二进制高位有效位,依次排列。

    举个示例:将十进制“11”转换为二进制

    将十进制11转换为二进制数为1011,表示为:(11)10 =(1011)2

    同样的,十进制转换为十六进制,采用“除16取余,逆序排列”的方法,十进制转换为八进制采用“除8取余,逆序排列”的方法。

    5、进制之间转换小技巧

    1位十六进制等于4位二进制

    1位八进制等于3位二进制

    由于十六进制和八进制的基数问题(太大或不太好算),它们的“幂次方”和“除基数取余”计算起来比较麻烦,为了方便计算,通常建议先把它们转换位二进制后再继续转换为相应的进制。

    进制转换
    进制转换

    相关文章

      网友评论

        本文标题:进制转换

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