二进制,八进制,十进制,十六进制之间的相互转换
素材来源:百度经验
一、进制
进制也就是进位计数制,是人为定义的带进位的计数方法。对于任何一种进制---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、八进制或十六进制转十进制
方法:把八进制、十六进制数按权展开、相加即得十进制数。
六、十六进制与八进制之间的转换
方法一:先转成二进制然后再相互转换。
方法二:先转成十进制然后再相互转换。