二进制,八进制,十进制,十六进制之间的相互转换

素材来源:百度经验

一、进制

进制也就是进位计数制,是人为定义的带进位的计数方法。对于任何一种进制---X进制,就表示每一位置上的数运算时都是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。在进制转换表达中可以在数末尾加该进制首字母以区分不同进制,如58H表示十六进制的58。

二进制: Binary

八进制 :Octal

十进制 :Decimal

十六进制 :Hexadecima

二、二进制与十进制之间的转换

1、十进制转二进制(只含整数)

方法:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。读数要倒叙读

2、十进制转二进制(小数部分)

方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零。
如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数,即读数要顺序读

举例:0.625转二进制

首先,0.625乘以2得1.25,整数部分为1,小数部分为0.25,记1

第二步,0.25乘以2得0.5,整数部分为0,小数部分为0.5,记0

第三步,0.5乘以2得1.0,整数部分为1.小数部分为0,记1

读数,小数点后从第一位读到最后一位,则该小数得二进制为0.101。

 0.45 转二进制(保留到小数点第四位)

第一步,将0.45乘以2,得0.9,则整数部分为0,小数部分为0.9;

第二步, 将小数部分0.9乘以2,得1.8,则整数部分为1,小数部分为0.8;

第三步, 将小数部分0.8乘以2,得1.6,则整数部分为1,小数部分为0.6;

第四步, 将小数部分0.6乘以2,得1.2,则整数部分为1,小数部分为0.2; 算到这一步就可以了,因为只需要保留四位小数

第五步, 将小数部分0.2乘以2,得0.4,则整数部分为0,小数部分为0.4;

第六步, 将小数部分0.4乘以2,得0.8,则整数部分为0,小数部分为0.8;后面会一直循环重复;

第七步, 将小数部分0.8乘以2,得1.6,则整数部分为1,小数部分为0.6;

......

直接读数,从第一位读至最后一位,为0.0111。

 3.二进制转十进制

 方法:将二进制数按位权展开、相加即得十进制数

三、二进制与八进制之间的转换

1、二进制转八进制

方法:取三位二进制数按位权展开相加得一位八进制数,因为2的三次方等于8。(注意,3位二进制转成八进制是从右到左开始转换,不足时补0)

 2、八进制转二进制

方法:八进制数通过除2取余法,得到二进制数,把每个八进制数转换为3个二进制,不足时在最左边补零。

 

四、二进制与十六进制之间的转换

1、二进制转十六进制

方法:与二进制转八进制方法近似,八进制是取三合一,十六进制是取四合一。(2的四次方等于16,4位二进制转成十六进制是从右到左开始转换,不足时补0)。

2、十六进制转二进制

方法:十六进制数通过除2取余法,得到二进制数,对每个十六进制数转换为4个二进制,不足时在最左边补零。

五、十进制与八进制和十六进制之间的转换

 1、十进制 转八进制或十六进制

间接法:把十进制转成二进制,然后再由二进制转成八进制或者十六进制。

直接法:把十进制转八进制或者十六进制按照除8或者16取余,直到商为0为止。

  2、八进制或十六进制转十进制

方法:把八进制、十六进制数按权展开、相加即得十进制数。

六、十六进制与八进制之间的转换

方法一:先转成二进制然后再相互转换。

方法二:先转成十进制然后再相互转换。

 

原文地址:https://www.cnblogs.com/CYL1103/p/12333146.html