计算机基础之各进制间的相互转换

1、各进制间的相互转换

二进制定义:由0b开头,0和1构成,逢2进1,空位补零。p:0b1101010

八进制定义:由0o开头,0,1,2,3,4,5,6,7构成,逢8进1,空位补零。p:0o1357264

十进制定义:0b,0o,0x与字母大小写无关。

十六进制定义:由0x开头,0~9,a,b,c,d,e,f构成,逢16进1,空位补零。p:0x8afxx

  

1.1十进制与其他进制间的转换

1.1.1二(八,十六)进制转十进制

0b1101010 = 106

算法: 

第一节小黑字体共3位数,第一位(进制位上的数)乘以   2(二进制),8(八进制),16(十六进制)的 索引值(个为表示为0,十位表示为1,万位表示为4)次幂,各小节相加为十进制数。

  

下图以二进制为例:

1.1.2十进制转二(八,十六)进制

7 = 0b111

算法:

7除2(二进制),8(八进制),16(十六进制)得3余1,3除2得1余1,(注意,余数为0也要算上)最后从下往上排列得出进制数

  

下图以二进制为例:

 

1.2二进制与(八,十六)进制间的转换

 

1.2.1二进制与八进制,十六进制对照表:

 1.2.2二进制与(八,十六)进制相互转换

0b11011010 = 0o332  = 218 

算法:

将二进制数从右往左,3个数(由于八进制中最大个位数是7,在二进制中可以用3个数111表示,所以3个数为一个单位)为一个单位切割,

最后一个单位不足3位,前面补0即可。然后对应进制表转换,得到进制数。

  

下图以二进制转八进制(十六进制则切割为4位数)为例:

 

原文地址:https://www.cnblogs.com/zhoulangshunxinyangfan/p/13155142.html