育儿先育己
专业做父母

信奥赛备考基础,二进制、十进制、八进制和十六进制如何转换

无论是信息奥林匹克竞赛还是其他信息竞赛,只要是涉及计算机基础的,都离不开对进制转化的学习。因为计算机的本质就是计算,而计算是离不开基础算术。我们最熟悉的就是小学阶段的加减乘除,只是参与计算的是十进制,也就是0-9,超过了就进位,两位数、三位数等。那么,在计算机中,只有0和1两种状态是最稳定的,便于计算机进行运行的,所以产生了二进制的概念。

 

那什么是进制呢?

进制也就是进位计数制,是人为定义的带进位的计数方法。当然,也有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法。

对于任何一种进制,比如X进制,就表示每一位上的数运算时都是逢X进一位。

那么,十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。

二进制,默认是0、1,当到2时候,就是10;

八进制,默认是0、1、2……7,当计数到8时候,就是10;

十进制,默认是0,1、2……9,当计数到10 的时候,就是10;

十六进制,默认是0、1、2、……9、A、B、C、D、E、F,当计数到16时,就是10。

 

二进制如何转换成十进制?

二进制中只有0和1,通过位数的扩展来计数更大的数,比如二进制的10表示的十进制的2,11表示是3,100表示的是4……

所以,二进制中的个位、十位、百位、千位、万位……其实是一种『权』,分别表示2的0次方、2的1次方。

比如二进制的100,其实就是百分位的『权』是2的2次方,把该百分位的1乘以权,十分位的0乘以权,个位的0乘以权,所有乘积的和就是最终的十进制数值。

 

八进制、十六进制如何转换成十进制?

和二进制类似,八进制、十六进制转化成十进制,也是采用各位上的数字乘以权,所有乘积的和就是最终的十进制数值。

比如八进制65,百位上的6,权是8的1次方,个位上的5,权是8的0次方,最终就是 (6*8^1)+(5*8^0)=48+5=53,也就是说八进制65对应的十进制是53

又比如十六进制65,百位上的6,权重是16的1次方,个位上的5,权是16的0次方,最终就是 (6*16^1)+(5*16^0)=96+5=101,也就是说十六进制65对应的十进制是101

小数部分的权就是从-1次方开始的,小数点后一位是-1次方,后第二位是-2次方,很好记忆。

所以简单总结下,就是R进制转十进制,就是位上的数乘以权(R的位次方,个位是0次方,向前向后依次是1次方、-1次方……),最终的乘积和就是十进制数

 

如何把十进制转换成二进制呢?

十进制转二进制,或其他八进制、十六进制,重点要区分整数和小数,转换方法不同。

十进制整数转换为R进制整数的方法是:“除以R取余”法。

比如十进制68,要转换成二进制,除数一直是2,把商不断除以2,直到商为0,最终的余数串联就是二进制。

比如十进制68,要转换成八进制,那么除数就一直是8,把商不断除以8,直到商为0,对应的八进制最终就是104。

 

再来看下十进制的小数转换成R进制小数的方法是:“乘以R取整”法。

 

比如十进制0.3125,要转换成二进制,那么去乘以2,把积的小数部分不断乘2,直到小数部分为0,对应的整数位串联就是对应的二进制。

 

二进制如何转八进制、十六进制?

二进制转八进制,就是3位二进制转1位八进制,不够的向前补0。

比如二进制 10011,一共5位,转换八进制,3位一转,还差1位,那就在最前面补0,变成010011,然后分别对010、011进行转八进制识别。

010的表示的2,011的表示的是3,所以二进制10011的八进制就是23

 

二进制转十六进制,就是4位二进制转1位十六进制,不够的向前补0。

比如二进制11011,一共5位,转十六进制,4位一转,还差3位,那就在最前面补3个0,变成00011011,分别对0001、1011进行转十六进制识别。

0001表示的就是1,1011表示的是(1*2^3)+(0*2^2)+(1*2^1)+(1*2^0)=8+0+2+1=11,11转化成十六进制就是B,所以最终二进制11011的十六进制就是1B。

 

整数部分是不够向前补0,小数部分是不够向后补0

八进制、十六进制转二进制就很简单了,反向计算,每位转化成3位或4位的二进制即可。

 

赞(1)

登录

找回密码

注册