ZawOo 发表于 2017-2-28 13:07

数字 I zawoo生活



        十进制转换为二进制——辗除法上节的表格中给出了简单的十进制和二进制的转换关系,要想获得更多的转换关系,可以使用辗除法。辗除法也就是“除模取余”法。除模取余就是将一个几进制的数转化成另一个进制时, 另一个进制的基数就是模,用将要转化的进制数除以模,取它的余数。

下图以十进制的“19”转换为二进制为例进行讲解: http://c.biancheng.net/cpp/uploads/allimg/150302/1-15030211150IE.png
        图1:19 转换为二进制

如图所示,以2为除数,一直相除下去,直到商为0,余数则为求得的二进制数。

注意:余数要倒序排列,也就是说,最先求得的余数排在二进制的最后面,最后求得的余数排在二进制的最前面。上面的例子中,最后求得的二进制数为 10011。

虽然其他进制也可以按照辗除法来转换,但是比较麻烦,下面介绍更简单的方法。         二进制和八进制的转换二进制向八进制的转换是每三位二进制数转换为一位八进制数,运算的顺序是从低位向高位依次进行,高位不足三位用零补充。以二进制“1011101”为例,如下图所示: http://c.biancheng.net/cpp/uploads/allimg/150302/1-15030212325HP.png
        图2:二进制转八进制

转换的结果为:1011101 = 0135

八进制向二进制转换的思路是八进制的一位转换为二进制的三位,运算的顺序是从低位向高位依次进行。同样以八进制“0135”为例,如下图所示: http://c.biancheng.net/cpp/uploads/allimg/150302/1-150302123PDB.png
        图3:八进制转二进制

转换的结果为:0135 = 1011101         二进制和十六进制的转换二进制向十六进制转换时,四位转换成十六进制的一位,运算的顺序是从低位向高位依次进行,高位不足四位用零补。以“1110011”转换成十六进制为例,如下图所示: http://c.biancheng.net/cpp/uploads/allimg/150302/1-150302124T55J.png
        图4:二进制转十六进制

转换的结果为:1001011101 = 0X25D

十六进制向二进制转换,就是把十六进制的一位转换成二进制的四位,注意运算的顺序是从低位向高位依次进行。同样以十六进制“0X25D”为例,如下图所示: http://c.biancheng.net/cpp/uploads/allimg/150302/1-150302125G5c0.png
        图5:十六进制转二进制



页: [1]
查看完整版本: 数字 I zawoo生活