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

二进制八进制十进制十六进制之间的进制转换详情可参考百度百科:进制转换这个词条【主要搞懂1和2两条,其他的进制之间的转化就迎刃而解,很好懂了】1. 十进制-> 二进制:将这个十进制数连续除以2的过程,第一步除以2,得到商和余数,将商再继续除以2,得到又一个商和余数,直到商为0。
最后将所有余数倒序排列,得到的数就是转换成二进制的结果。
2. 二进制-> 十进制:二进制数第1位的权值是2的0次方,第2位的权值是2的1次方,第3位的权值是2的2次方。
(例如1258这个十进制数,实际上代表的是:1x1000+2x100+5x10+8x1=1258)那么1011这个二进制数,实际上代表的是:1x8+0x4+1x2+1x1=11(十进制数11)。
(这里的8就是2的3次方,4就是2的2次方,2就是2的1次方,1就是2的0次方)3. 十进制-> 八进制:十进制数转换成八进制的方法,和转换为二进制的方法类似,唯一变化:除数由2变成8。
4. 八进制-> 十进制和转换为二进制的方法类似,唯一变化是,底数变成8,第1位表示8的0次方,第二位表示8的一次方,第三位表示8的2次方,第四位表示8的3次方。
例如1314这个八进制数,十进制数就是1x512+3x64+1x8+4x1=716(十进制)5. 十进制-> 十六进制10进制数转换成16进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成16。
十六进制是0123456789ABCDEF这十六个字符表示。
那么单独一个A就是10,单独一个B就是11,CDEF,就分表表示12,13,14,15。
而10这个十六进制数,实际就是十进制中的16。
6. 十六进制-> 十进制和转换为二进制的方法类似,唯一变化是,底数变成16,第1位表示16的0次方,第二位表示16的一次方,第三位表示16的2次方,第四位表示16的3次方。
7. 二进制<--->八进制,之间的相互转换,更简单一些,因为8本身是2的三次方。
二进制八进制十进制十六进制之间的转换算法

二进制八进制十进制十六进制之间的转换算法二进制、八进制、十进制和十六进制是计算机中常用的数字表示方法。
它们之间的转换可以通过一些算法来实现。
下面将介绍这些算法,并给出详细的解释。
1.二进制转八进制:将二进制数从右往左每3位一组进行分组,不足3位的可以在左侧补0。
然后将每组的二进制数转换为对应的八进制数。
如:分组:11010110转换为八进制数:3262.二进制转十进制:二进制数转换为十进制数可以使用加权的方式计算。
从最右边的位开始,每一位的值乘以2的对应次幂(从0开始),然后将所有结果相加。
如:二进制数:1101转换为十进制数:(1*2^3)+(1*2^2)+(0*2^1)+(1*2^0)=133.二进制转十六进制:将二进制数从右往左每4位一组进行分组,不足4位的可以在左侧补0。
然后将每组的二进制数转换为对应的十六进制数。
如:分组:110110101转换为十六进制数:DA14.八进制转二进制:将八进制数的每一位转换为对应的3位二进制数。
如:八进制数:326转换为二进制数:0110101105.八进制转十进制:八进制数转换为十进制数可以使用加权的方式计算。
从最右边的位开始,每一位的值乘以8的对应次幂(从0开始),然后将所有结果相加。
如:八进制数:326转换为十进制数:(3*8^2)+(2*8^1)+(6*8^0)=2146.八进制转十六进制:先将八进制数转换为二进制数,然后将二进制数转换为十六进制数。
如:八进制数:326转换为二进制数:011010110转换为十六进制数:DA67.十进制转二进制:十进制数转换为二进制数可以使用除2取模的方式计算。
将十进制数一直除以2,直到商为0为止,然后将每一步的余数倒序排列即可。
如:十进制数:13转换为二进制数:11018.十进制转八进制:十进制数转换为八进制数可以使用除8取模的方式计算。
将十进制数一直除以8,直到商为0为止,然后将每一步的余数倒序排列即可。
如:十进制数:214转换为八进制数:3269.十进制转十六进制:十进制数转换为十六进制数也可以使用除法和取模的方式计算。
二进制、八进制、十进制、十六进制之间转换(含小数部分)

二进制、八进制、十进制、十六进制之间转换一、十进制与二进制之间的转换(1)十进制转换为二进制,分为整数部分和小数部分①整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。
下面举例:例:将十进制的168转换为二进制得出结果将十进制的168转换为二进制,(10101000)2分析:第一步,将168除以2,商84,余数为0。
第二步,将商84除以2,商42余数为0。
第三步,将商42除以2,商21余数为0。
第四步,将商21除以2,商10余数为1。
第五步,将商10除以2,商5余数为0。
第六步,将商5除以2,商2余数为1。
第七步,将商2除以2,商1余数为0。
第八步,将商1除以2,商0余数为1。
第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000(2)小数部分方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。
如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。
换句话说就是0舍1入。
读数要从前面的整数读到后面的整数,下面举例:例1:将0.125换算为二进制得出结果:将0.125换算为二进制(0.001)2分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;第四步,读数,从第一位读起,读到最后一位,即为0.001。
例2,将0.45转换为二进制(保留到小数点第四位)大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。
二进制八进制十进制十六进制之间的转换算法

二进制八进制十进制十六进制之间的转换算法在计算机科学和数学领域,二进制、八进制、十进制和十六进制是常见的数字表示方法。
它们之间的转换算法非常重要,因为计算机内部一般使用二进制表示数据,而在人类交互中使用十进制更为常见,而八进制和十六进制则在一些特定的应用场景中使用。
下面将详细介绍二进制、八进制、十进制和十六进制之间的转换算法。
1.二进制转换为十进制:二进制是以2为基数的数制,表示只有0和1两个数字。
转换为十进制的方法是将每个二进制位上的数字乘以2的幂,然后求和。
例如,二进制数1101转换为十进制的计算过程是:1*2^3+1*2^2+0*2^1+1*2^0=132.十进制转换为二进制:十进制是以10为基数的数制,表示有0到9十个数字。
转换为二进制的方法是使用除2取余法,即将十进制数不断除以2,余数为二进制位上的数字,商继续除以2,直到商为0为止。
然后将余数按照从下至上的顺序排列,即得到二进制表示。
例如,十进制数13转换为二进制的计算过程是:13/2=商6,余16/2=商3,余03/2=商1,余11/2=商0,余1所以二进制数为11013.八进制转换为十进制:八进制是以8为基数的数制,表示有0到7八个数字。
转换为十进制的方法与二进制类似,将每个八进制位上的数字乘以8的幂,然后求和。
例如,八进制数132转换为十进制的计算过程是:1*8^2+3*8^1+2*8^0=904.十进制转换为八进制:十进制转换为八进制的方法是使用除8取余法,与二进制转换相似。
即将十进制数不断除以8,余数为八进制位上的数字,商继续除以8,直到商为0为止。
然后将余数按照从下至上的顺序排列,即得到八进制表示。
例如,十进制数90转换为八进制的计算过程是:90/8=商11,余211/8=商1,余31/8=商0,余1所以八进制数为1325.十六进制转换为十进制:十六进制是以16为基数的数制,表示有0到9和A到F共十六个数字,其中A表示十进制的10,B表示十进值的11,以此类推。
完整版二进制八进制十进制十六进制之间转换详解

二进制、八进制、十进制、十六进制之间转换一、十进制与二进制之间的转换(1)十进制转换为二进制,分为整数部分和小数部分① 整数部分方法:除2 取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0 为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。
下面举例:例:将十进制的168 转换为二进制得出结果将十进制的168 转换为二进制,(10101000)2 分析:第一步,将168除以2, 商84,余数为0。
第二步,将商84除以2,商42余数为0。
第三步,将商42除以2,商21余数为0。
第四步,将商21除以2,商10余数为1。
第五步,将商10除以2,商5 余数为0。
第六步,将商5除以2,商2余数为1。
第七步,将商2除以2,商1余数为0。
第八步,将商1除以2,商0余数为1。
第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000(2)小数部分方法:乘2 取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。
如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。
换句话说就是0舍1入。
读数要从前面的整数读到后面的整数,下面举例:例1:将0.125 换算为二进制得出结果:将0.125 换算为二进制(0.001 )2分析:第一步,将0.125 乘以2,得0.25, 则整数部分为0, 小数部分为0.25;第二步, 将小数部分0.25 乘以2,得0.5, 则整数部分为0, 小数部分为0.5;第三步, 将小数部分0.5 乘以2,得1.0, 则整数部分为1,小数部分为0.0;第四步, 读数, 从第一位读起,读到最后一位, 即为0.001 。
二进制,八进制,十进制,十六进制之间的转换

二进制,八进制,十进制,十六进
制之间的转换
方法是:小数除以2得到余数,即小数除以2,余数就是砝码上的数,得到的商值继续除以2。
根据这个步骤,它将继续向下操作,直到商360被重新知道为0。
例如:把十进制数 150 转换为二进制数:如下:
•2
二进制转换为十进制的方法是:将二进制数按重量展开,相加得到十进制数。
•3
二进制转换为八进制的方法是:三个二进制数通过重量展开相加得到一个八进制数。
(请注意,3位二进制到八进制的转换是从右向左开始的,不足时加0)。
•4
八进制数转换成二进制数的方法如下:八进制数除以2得到二进制数,每个八进制数由三个二进制数组成。
不足时,在最左边补零。
•5
二进制到十六进制的方法类似于二进制到八进制的方法,八进制是三合一,十六进制是四合一。
(注意,4位二进制到十六进制的转换是从右到左,不足时加0)。
•6
十六进制转换成二进制的方法是:将十六进制数除以2得到二进制数,每个十六进制数为4个二进制数。
油量不足时,在最左边加零。
•7
十进制转八进制或者十六进制
将十进制转换为八进制或十六进制,然后除以8或16,直到商为0。
•8
将八进制或十六进制转换成十进制的方法是:将八进制和十六进制香烟组的二进制数按重量展开相加得到十进制数。
•9
八进制 >十六进制方法:将八进制转换为二进制,然后再将二进制转换为十六进制,小数点位置不变。
•10
十六进制 >八进制
方法:将十六进制转换成二进制,再将二进制转换成八进制,小数点位置不变。
二进制、八进制、十进制、十六进制之间转换(含小数部分)
二进制、八进制、十进制、十六进制之间转换一、 十进制与二进制之间的转换(1) 十进制转换为二进制,分为整数部分和小数部分① 整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。
下面举例:例:将十进制的168转换为二进制得出结果 将十进制的168转换为二进制,(10101000)2分析:第一步,将168除以2,商84,余数为0。
第二步,将商84除以2,商42余数为0。
第三步,将商42除以2,商21余数为0。
第四步,将商21除以2,商10余数为1。
第五步,将商10除以2,商5余数为0。
第六步,将商5除以2,商2余数为1。
第七步,将商2除以2,商1余数为0。
第八步,将商1除以2,商0余数为1。
第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000(2) 小数部分方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。
如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。
换句话说就是0舍1入。
读数要从前面的整数读到后面的整数,下面举例:例1:将0.125换算为二进制得出结果:将0.125换算为二进制(0.001)2分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;第四步,读数,从第一位读起,读到最后一位,即为0.001。
例2,将0.45转换为二进制(保留到小数点第四位)大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。
进制之间的转换
二进制、八进制、十进制、十六进制之间转换一、十进制与二进制之间的转换(1)十进制转换为二进制,分为整数部分和小数部分①整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。
下面举例:例:将十进制的168转换为二进制得出结果将十进制的168转换为二进制,(10101000)2分析:第一步,将168除以2,商84,余数为0。
第二步,将商84除以2,商42余数为0。
第三步,将商42除以2,商21余数为0。
第四步,将商21除以2,商10余数为1。
第五步,将商10除以2,商5余数为0。
第六步,将商5除以2,商2余数为1。
第七步,将商2除以2,商1余数为0。
第八步,将商1除以2,商0余数为1。
第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000(2)小数部分方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。
如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。
换句话说就是0舍1入。
读数要从前面的整数读到后面的整数,下面举例:例1:将0.125换算为二进制得出结果:将0.125换算为二进制(0.001)2分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;第四步,读数,从第一位读起,读到最后一位,即为0.001。
例2,将0.45转换为二进制(保留到小数点第四位)大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。
二进制、八进制、十进制、十六进制之间的转换
一、二进制数的数码为0、1共两个,进数规则为逢2进一,借一当二。
二、十进制数的数码为0-9共十个,进数规则为逢10进一,借一当十。
三、八进制数的数码为0-7共八个,进数规则为逢八进一,借一当八。
四、十六进制数的数码为0-9、A-F共十六个,其中数码A、B、C、D、E、F分别代表十进制数中的10、11、12、13、14、15,进数规则为逢16进一,借一当十六。
1、正整数的十进制转换二进制要点:除2取余,倒序排列[低位有效位——》高位有效位]解释:将一个十进制数除以二,得到的商再除以二,以此类推,直到商等于一或零时,倒取除得的余数,即换算为二进制数的结果。
【例如:(52)10 = (00110100)2】2、负整数转换为二进制要点:取反加一解释:将该负整数对应的正整数先转换成二进制,然后对其“取补”,再对取补后的结果加1即可。
【例如:(-52)10 = (11001100)2】3、小数转换为二进制要点:乘2取整,正序排列[高位有效位——》低位有效位]解释:用2乘以十进制小数,取其整数部分(0或1)作为二进制小数部分,取其小数部分,再乘以2,又取其整数部分作为二进制小数部分,然后取小数部分,再乘以2,直到小数部分为0或者已经取到了足够位数,每次取的整数部分,按先后次序排列,就构成了二进制小数的序列。
【例如:(0.2)10 = (0.0011 0011 0011 (2)4、二进制转十进制:要点:整数二进制用数值乘以2的幂次方依次相加,小数二进制用数值乘以2的负幂次方,然后依然相加。
首先二进制数补足位数,首位为0,则为正整数;首位为1,则为负整数,那么需要先取反在换算【例如:二进制110 转换为十进制后的结果为0 +2 +4 =6;11111001 =-00000110 = -6;0.110 = 0.75】5.二进制转八进制方法为:以小数点为基准,整数部分从右向左,三位一组,最高位不足三位时,左边添0补足三位;小数部分从左向右,三位一组,最低位不足三位时,右边添0补足三位。
二进制、八进制、十进制、十六进制之间转换(含小数部分)
二进制、八进制、十进制、十六进制之间转换一、十进制与二进制之间的转换(1)十进制转换为二进制,分为整数部分和小数部分①整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。
下面举例:例:将十进制的168转换为二进制得出结果将十进制的168转换为二进制,(10101000)2分析:第一步,将168除以2,商84,余数为0。
第二步,将商84除以2,商42余数为0。
第三步,将商42除以2,商21余数为0。
第四步,将商21除以2,商10余数为1。
第五步,将商10除以2,商5余数为0。
第六步,将商5除以2,商2余数为1。
第七步,将商2除以2,商1余数为0。
第八步,将商1除以2,商0余数为1。
第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000(2)小数部分方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。
如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。
换句话说就是0舍1入。
读数要从前面的整数读到后面的整数,下面举例:例1:将0.125换算为二进制得出结果:将0.125换算为二进制(0.001)2分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;第四步,读数,从第一位读起,读到最后一位,即为0.001。
例2,将0.45转换为二进制(保留到小数点第四位)大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二进制,八进制,十进制,十六进制之间的转换
1.什么是二进制
二进制是计算技术中广泛采用的一种数制。
二进制数据是用0和1两个数码来表示的数。
它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。
当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。
计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
信息的存储单位
位(Bit) :度量数据的最小单位
字节(Byte):最常用的基本单位,一个字节有8位
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 1 0 1 0 1 =27+24+22+20=149
K字节1k=1024 byte
M(兆)字节 1M=1024K
G(吉)字节 1G=1024M
T(太)字节 1T=1024G
曾经听人说,一个c,c++大神,就靠输入,0和1就可以装好操作系统,不知道是不是真的,嘿嘿
2.十进制转换
1234[10进制] 0 1 2 3 4 5 6 7 8 9 0 当数位上的值超过9就要进1
1000+200+30+4=1*103+2*102+3*101+4*100=1234
1011[2进制] 0 1 当数位上的值超过1就要进1
1*23+0*22+1*21+1*20=8+0+2+1=11
1011[8进制]0 1 2 3 4 5 6 7 当数位上的值超过7就要进1
1*83+1*81+1*80=512+8+1=521
1011[16进制]0 1 2 3 4 5 6 7 8 9 A B C D E F 当数位上的值超过15就要进1 1*163+1*161+1*160=4096+16+1=4113
当然其他进制转换成10进制是最简单的了,我想聪明的你肯定会了。
3.二进制转换
首先来看十进制到二进制:除2取余数最后把余数倒过来 100101
比如:十进制数37
所以转换成的二进制数字为:100101
再来八进制到二进制:一个八进制的位拆分成一个三位的二进制数
比如:[八进制]616
6拆分成 110
1拆分成001
6拆分成110
所以转换成的二进制数字为:110001110
再来十六进制到二进制:一个八进制的位拆分成一个四位的二进制数
比如:[十六进制]616
6拆分成0110
1拆分成0001
6拆分成0110
所以转换成的二进制数字为:11000010110
4.八进制转换
十进制到八进制:除8取余数最后把余数倒过来
同时我们也可以先将十进制转换成二进制,然后将二进制又转换成八进制比如:2456 转化成八进制数字:4630
2456/8=307,余0;
307/8=38,余3;
38/8=4,余6;
4/8=0,余4。
将所有余数倒序相连,得到结果:4630。
因此十进制的2456转换为八进制结果为4630。
二进制到八进制转换 7=4+2+1 111 八进制最大的数字是7转换成二进制刚好是111,占3个位
每三个二进制数为一组,转成一个八进制数位,如果二进制高位不足3位时,用零填补。
比如:10011011
010 011 011
2 3 3
因此二进制的10011011转换为八进制结果为233。
十六进制到八进制
我们可以先把十六进制的数字转换成二进制,在从二进制转换成八进制例如:
3BC24
分别对应到二进制就是:
3 0011
B 1011
C 1100
4 0100
连起来就是:
0011 1011 1100 0100
再按照每三个一组分组:
0 011 101 111 000 100
0__3__5__7__0__4
所以8进制就是35704
5.十六进制转换
十进制到十六进制:除16倒着取余数
同时我们也可以先将十进制转换成二进制,然后将二进制又转换成十六进制
比如说:1610转换成十六进制
直接转16进制:
1610/16=100……10(A);
100 /16= 6……4;
6 /16= 0……6;
故:1610(10)=64A(16).
二进制到十六进制 15=8+4+2+1 1111 十六进制最大数字是F,即15转换成二进制1111,刚好占4个位
每四个二进制数为一组,转成一个十六进制数位,如果二进制高位不足3位时,用零填补。
比如:1110011011
0011 1001 1011
3 9 B
因此二进制的 1110011011转换为十六进制39B
八进制到十六进制
我们可以先把八进制的数字转换成二进制,在从二进制转换成十六进制
八进制的:1234567
转换为二进制是每个数字转换为三位二进制:001 010 011 100 101 110 111
然后把这些数字从右边开始进行按四位分组:0 0101 0011 1001 0111 0111
然后从右边每四位组依次对应一个16进制数:053977
6.各种进制的用途
2进制,是供计算机使用的,1,0代表开和关,有和无,机器只认识2进制。
10进制,当然是便于我们人类来使用,我们从小的习惯就是使用十进制,这个毋庸置疑。
16进制,内存地址空间是用16进制的数据表示, 如0x8049324。
编程中,我们常用的还是10进制。
比如:int a = 100,b = 99;
不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。
但二进制数太长了。
比如int 类型占用4个字节,32位。
比如100,用in t类型的二进制数表达将是:
0000 0000 0000 0000 0110 0100
面对这么长的数进行思考或操作,没有人会喜欢。
因此,用16进制或8进制可以解决这个问题。
因为,进制越大,数的表达长度也就越短。
1.用于计算机领域的一种重要的数制
2.对计算机理论的描述,计算机硬件电路的设计都是很有益的。
比如逻辑电路设计中,既要考虑功能的完备,还要考虑用尽可能少的硬件,十六进制就能起到一些理论分析的作用。
比如四位二
进制电路,最多就是十六种状态,也就是一种十六进制形式,只有这十六种状态都被用上了或者尽可能多的被用上,硬件资源才发挥了尽可能大的作用。
3.十六进制更简短,因为换算的时候一位16进制数可以顶4位2进制数。