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

二进制八进制十进制十六进制之间的进制转换详情可参考百度百科:进制转换这个词条【主要搞懂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.转换为十进制二进制化为十进制例:将二进制数101.01转换成十进制数(101.01)2 = 1×22 + 0×21 + 1×20 + 0×2-1 + 1×2-2 = (5.25)10 八进制化为十进制例:将八进制数12.6转换成十进制数(12.6)8 = 1×81 + 2×80 + 6×8-1 = (10.75)10十六化为十进制例:将十六进制数2AB.6转换成十进制数:(2AB.6)16 = 2×162 + 10×161 + 11×160 + 6×16-1 = (683.375)102.转换为二进制八进制化为二进制规则:按照顺序,每1位八进制数改写成等值的3位二进制数,次序不变。
例:(17.36)8 = (001 111 .011 110)2 = (1111.01111)2十六进制化为二进制规则:每1位十六进制数改写成等值的4位二进制数,次序不变。
例:(3A8C.D6)16 =(0011 1010 1000 1100.1101 0110)2 =(11101010001100.1101011)2十进制整数化为二进制整数规则:除二取余,直到商为零为止,倒排。
例:将十进制数86转化为二进制2 | 86 02 | 43 (1)2 | 21 (1)2 | 10 02 | 5 (1)2 | 2 02 | 1 (1)结果:(86)10 = (1010110)2十进制小数化为二进制小数规则:乘二取整,直到小数部分为零或给定的精度为止,顺排。
例:将十进制数0.875转化为二进制数0.875× 21.75× 21.5×21.0结果:(0.875)10 = (0.111)23.转换为八进制二进制化为八进制整数部份从最低有效位开始,以3位一组,最高有效位不足3位时以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 。
二进制_八进制_十进制_十六 进制之间的相互转换

二进制,八进制,十进制,十六进制之间的相互转换和相关概念二进制:计算机只认识0或1,也就是高电平和低电平.所以所有的数据格式最终会转化为2进制形式,计算机硬件才能识别。
二进制逢二进一,八进制逢八进一,十进制逢十进一,十六进制逢十六进一。
下边是各进制之间的转换公式.二进制转十进制0110 0100(2) 换算成十进制第0位 0 * 2^0 = 0第1位 0 * 2^1 = 0第2位 1 * 2^2 = 4第3位 0 * 2^3 = 0第4位 0 * 2^4 = 0第5位 1 * 2^5 = 32第6位 1 * 2^6 = 64第7位 0 * 2^7 = 0 +---------------------------100二进制转八进制可采用8421法1010011(2)首先每三位分割即: 001,010,011不足三位采用0补位.然后采用8421法: 001=1010=2011=3所以转换成8进制是123二进制转十六进制1101011010100(2)首先每四位分割即: 0001,1010,1101,0100不足四位采用0补位.然后采用8421法: 0001:11010:A1101:D0100:4所以转换成十六进制是1AD4十六进制当数字超过9后将采用A代替10,B代替11,C代替12,D代替13,E 代替14,F代替15;下边是十进制的各种转换:十进制转二进制6(10)10进制数转换成二进制数,这是一个连续除2的过程:把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。
最后将所有余数倒序排列,得到数就是转换结果。
商余数6/2 3 03/2 1 11/2 0 1最后把余数从下向上排列写出110即是转换后的二进制.十进制转换八进制10进制数转换成八进制数,这是一个连续除8的过程:把要转换的数,除以8,得到商和余数,将商继续除以8,直到商为0。
最后将所有余数倒序排列,得到数就是转换结果。
120(10)商余数120/8 15 015/8 1 71/8 0 1最后把余数从下向上排列写出170即是转换后的八进制.十进制转换十六进制10进制数转换成十六进制数,这是一个连续除16的过程:把要转换的数,除以16,得到商和余数,将商继续除以16,直到商为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取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数.下面举例:例:将十进制的168转换为二进制得出结果将十进制的168转换为二进制,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才得到的,因此它是最高位,读数字从最后的余数向前读,即2 小数部分方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止.如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位.换句话说就是0舍1入.读数要从前面的整数读到后面的整数,下面举例:例1:将换算为二进制得出结果:将换算为二进制2分析:第一步,将乘以2,得,则整数部分为0,小数部分为;第二步, 将小数部分乘以2,得,则整数部分为0,小数部分为;第三步, 将小数部分乘以2,得,则整数部分为1,小数部分为;第四步,读数,从第一位读起,读到最后一位,即为.例2,将转换为二进制保留到小数点第四位大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是,那么小数部分继续乘以2,得,又乘以2的,到这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入.这个也是计算机在转换中会产生误差,但是由于保留位数很多,精度很高,所以可以忽略不计.那么,我们可以得出结果将转换为二进制约等于上面介绍的方法是十进制转换为为二进制的方法,需要大家注意的是:1 十进制转换为二进制,需要分成整数和小数两个部分分别转换2 当转换整数时,用的除2取余法,而转换小数时候,用的是乘2取整法3 注意他们的读数方向因此,我们从上面的方法,我们可以得出十进制数转换为二进制为.001,或者十进制数转换为二进制数约等于.0111.3 二进制转换为十进制不分整数和小数部分方法:按权相加法,即将二进制每位上的数乘以权,然后相加之和即是十进制数.例将二进制数转换为十进制数.得出结果:2=10大家在做二进制转换成十进制需要注意的是1 要知道二进制每位的权值2 要能求出每位的值二、二进制与八进制之间的转换首先,我们需要了解一个数学关系,即2^3=8,2^4=16,而八进制和十六进制是用这关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数.接着,记住4个数字8、4、2、12^3=8、2^2=4、2^1=2、2^0=1.现在我们来练习二进制与八进制之间的转换.1 二进制转换为八进制方法:取三合一法,即从二进制的小数点为分界点,向左向右每三位取成一位,接着将这三位二进制按权相加,得到的数就是一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数.如果向左向右取三位后,取到最高最低位时候,如果无法凑足三位,可以在小数点最左边最右边,即整数的最高位最低位添0,凑足三位.例①将二进制数转换为八进制得到结果:将转换为八进制为②将二进制数转换为八进制得到结果:将转换为八进制为2 将八进制转换为二进制方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧.例:①将八进制数转换为二进制因此,将八进制数转换为二进制数为,即大家从上面这道题可以看出,计算八进制转换为二进制首先,将八进制按照从左到右,每位展开为三位,小数点位置不变然后,按每位展开为22,21,20即4、2、1三位去做凑数,即a×22+ b×21 +c ×20=该位上的数a=1或者a=0,b=1或者b=0,c=1或者c=0,将abc排列就是该位的二进制数接着,将每位上转换成二进制数按顺序排列最后,就得到了八进制转换成二进制的数字.以上的方法就是二进制与八进制的互换,大家在做题的时候需要注意的是1 他们之间的互换是以一位与三位转换,这个有别于二进制与十进制转换2 大家在做添0和去0的时候要注意,是在小数点最左边或者小数点的最右边即整数的最高位和小数的最低位才能添0或者去0,否则将产生错误三、二进制与十六进制的转换方法:与二进制与八进制转换相似,只不过是一位十六与四位二进制的转换,下面具体讲解1 二进制转换为十六进制方法:取四合一法,即从二进制的小数点为分界点,向左向右每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数.如果向左向右取四位后,取到最高最低位时候,如果无法凑足四位,可以在小数点最左边最右边,即整数的最高位最低位添0,凑足四位.①例:将二进制.1011转换为十六进制得到结果:将二进制.1011转换为十六进制为②例:将转换为十六进制因此得到结果:将二进制转换为十六进制为2将十六进制转换为二进制方法:取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧.①将十六进制转换为二进制数因此得到结果:将十六进制转换为二进制为即四、八进制与十六进制的转换方法:一般不能互相直接转换,一般是将八进制或十六进制转换为二进制,然后再将二进制转换为十六进制或八进制,小数点位置不变.那么相应的转换请参照上面二进制与八进制的转换和二进制与十六进制的转五、八进制与十进制的转换1八进制转换为十进制方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数.例:①将八进制数转换为十进制2十进制转换为八进制十进制转换成八进制有两种方法:1间接法:先将十进制转换成二进制,然后将二进制又转换成八进制2直接法:前面我们讲过,八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,还是整数部分的转换和小数部分的转换,下面来具体讲解一下:①整数部分方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数.②小数部分方法:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止.如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入.例:将十进制数转换为八进制数解:先将这个数字分为整数部分796和小数部分整数部分小数部分因此,得到结果十进制转换八进制为上面的方法大家可以验证一下,你可以先将十进制转换,然后在转换为八进制,这样看得到的结果是否一样六、十六进制与十进制的转换十六进制与八进制有很多相似之处,大家可以参照上面八进制与十进制的转换自己试试这两个进制之间的转换.通过上面对各种进制之间的转换,我们可以将前面的转换图重新完善一下:本文介绍了二进制、十进制、八进制、十六进制四种进制之间相互的转换,大家在转换的时候要注意转换的方法,以及步骤,特别是十进制转换为期于三种进制之间,要分为整数部分和小数部分,最后就是小数点的位置.但是要保证考试中不出现错误还是需要大家经常练习,这样才能熟能生巧.二进制,八进制,十进制,十六进制转换99 :二进制是1100011 八进制是143 十六进制是63113: 110001 161 71127: 1 447 127192: 300 C0324: 0 504 144算法:十进制与二进制转换之相互算法十进制转二进制:用2辗转相除至结果为1将余数和最后的1从下向上倒序写就是结果例如302302/2 = 151 余0151/2 = 75 余175/2 = 37 余137/2 = 18 余118/2 = 9 余09/2 = 4 余14/2 = 2 余02/2 = 1 余0故二进制为0二进制转十进制从最后一位开始算,依次列为第0、1、2...位第n位的数0或1乘以2的n次方得到的结果相加就是答案例如:01101011.转十进制:第0位:1乘2的0次方=11乘2的1次方=20乘2的2次方=01乘2的3次方=80乘2的4次方=01乘2的5次方=321乘2的6次方=640乘2的7次方=0然后:1+2+0+8+0+32+64+0=107.二进制01101011=十进制107.一、二进制数转换成十进制数由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和.这种做法称为"按权相加"法.二、十进制数转换为二进制数十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并.1. 十进制整数转换为二进制整数十进制整数转换为二进制整数采用"除2取余,逆序排列"法.具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来.2.十进制小数转换为二进制小数十进制小数转换成二进制小数采用"乘2取整,顺序排列"法.具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止.然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位.回答者:HackerKinsn - 试用期一级 2-24 13:311.二进制与十进制的转换1二进制转十进制<BR>方法:"按权展开求和"例:2 =1×23+0×22+1×21+1×20+0×2-1+1×2-210 =8+0+2+1+0+10=102十进制转二进制·十进制整数转二进制数:"除以2取余,逆序输出" 例: 8910=101100122 892 44 (1)2 22 02 11 02 5 (1)2 2 (1)2 1 00 (1)·十进制小数转二进制数:"乘以2取整,顺序输出"例:0.62510= 0.10120.625X 21.25X 20.5X 21.02.八进制与二进制的转换例:将八进制的转换成二进制数:37 . 4 1 6011 111 .100 001 110即:8 =11111.2例:将二进制的转换成八进制:0 1 0 1 1 0 . 0 0 1 1 0 02 6 . 1 4即:2 =83.十六进制与二进制的转换<BR>例:将十六进制数转换成二进制:5 D F . 90101 1101 1111.1001即:16 =.10012例:将二进制数转换成十六进制:0110 0001 . 11106 1 . E即:2 =16。
二进制,八进制,十进制,十六进制之间的相互转换和相关概念

二进制,八进制,十进制,十六进制之间的相互转换和相关概念二进制:计算机只认识0或1,也就是高电平和低电平.所以所有的数据格式最终会转化为2进制形式,计算机硬件才能识别。
二进制逢二进一,八进制逢八进一,十进制逢十进一,十六进制逢十六进一。
下边是各进制之间的转换公式.二进制转十进制0110 0100(2) 换算成十进制第0位0 * 2^0 = 0第1位0 * 2^1 = 0第2位 1 * 2^2 = 4第3位0 * 2^3 = 0第4位0 * 2^4 = 0第5位 1 * 2^5 = 32第6位 1 * 2^6 = 64第7位0 * 2^7 = 0 +---------------------------100二进制转八进制可采用8421法1010011(2)首先每三位分割即: 001,010,011不足三位采用0补位.然后采用8421法: 001=1010=2011=3所以转换成8进制是123二进制转十六进制1101011010100(2)首先每四位分割即: 0001,1010,1101,0100不足四位采用0补位.然后采用8421法: 0001:11010:A1101:D0100:4所以转换成十六进制是1AD4十六进制当数字超过9后将采用A代替10,B代替11,C代替12,D代替13,E代替14,F代替15;下边是十进制的各种转换:十进制转二进制6(10)10进制数转换成二进制数,这是一个连续除2的过程:把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。
最后将所有余数倒序排列,得到数就是转换结果。
商余数6/2 3 03/2 1 11/2 0 1最后把余数从下向上排列写出110即是转换后的二进制.十进制转换八进制10进制数转换成八进制数,这是一个连续除8的过程:把要转换的数,除以8,得到商和余数,将商继续除以8,直到商为0。
最后将所有余数倒序排列,得到数就是转换结果。
120(10)商余数120/8 15 015/8 1 71/8 0 1最后把余数从下向上排列写出170即是转换后的八进制.十进制转换十六进制10进制数转换成十六进制数,这是一个连续除16的过程:把要转换的数,除以16,得到商和余数,将商继续除以16,直到商为0。
二进制、八进制、十进制、十六进制互相转换方法

二进制、八进制、十进制、十六进制互相转换方法有一个公式:二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数。
个位,N=1;十位,N=2...举例:110B=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6D110Q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72D110H=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272D2、十进制数转二进制数、八进制数、十六进制数方法是相同的,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数部分拼接成一个数作为转换的最后结果。
3、二进制数转换成其它数据类型3-1二进制转八进制:从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用0补足,就是一个相应八进制数的表示。
010110.001100B=26.14Q八进制转二进制反之则可。
3-2二进制转十进制:见13-3二进制转十六进制:从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进制的数字来表示,不足四位的用0补足,就是一个相应十六进制数的表示。
00100110.00010100B=26.14H十进制转各进制要将十进制转为各进制的方式,只需除以各进制的权值,取得其余数,第一次的余数当个位数,第二次余数当十位数,其余依此类推,直到被除数小于权值,最后的被除数当最高位数。
一、十进制转二进制如:55转为二进制2|5527――1 个位13――1 第二位6――1 第三位3――0 第四位1――1 第五位最后被除数1为第七位,即得110111二、十进制转八进制如:5621转为八进制8|5621702 ――5 第一位(个位)87 ――6 第二位10 ――7 第三位1 ――2 第四位最后得八进制数:127658三、十进制数十六进制如:76521转为十六进制16|765214726 ――5 第一位(个位)295 ――6 第二位18 ――6 第三位1 ――2 第四位最后得1276516二进制与十六进制的关系2进制0000 0001 0010 0011 0100 0101 0110 011116进制0 1 2 3 4 5 6 72进制1000 1001 1010 1011 1100 1101 1110 111116进制8 9 a(10) b(11) c(12) d(13) e(14) f(15)可以用四位数的二进制数来代表一个16进制,如3A16 转为二进制为:3为0011,A为1010,合并起来为00111010。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二进制,八进制,十进制,十六进制之间的转换算法
一、十进制与二进制之间的转换
(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.45转换为二进制约等于0.0111
上面介绍的方法是十进制转换为为二进制的方法,需要大家注意的是:
1)十进制转换为二进制,需要分成整数和小数两个部分分别转换
2)当转换整数时,用的除2取余法,而转换小数时候,用的是乘2取整法
3)注意他们的读数方向
因此,我们从上面的方法,我们可以得出十进制数168.125转换为二进制为10101000.001,或者十进制数转换为二进制数约等于10101000.0111。
(3)二进制转换为十进制不分整数和小数部分
方法:按权相加法,即将二进制每位上的数乘以权,然后相加之和即是十进制数。
例
将二进制数101.101转换为十进制数。
得出结果:(101.101)2=(5.625)10
大家在做二进制转换成十进制需要注意的是
1)要知道二进制每位的权值
2)要能求出每位的值
二、二进制与八进制之间的转换
首先,我们需要了解一个数学关系,即23=8,24=16,而八进制和十六进制是用这
关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。
接着,记住4个数字8、4、2、1(23=8、22=4、21=2、20=1)。
现在我们来练习二进制与八进制之间的转换。
(1)二进制转换为八进制
方法:取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加,得到的数就是一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。
如果向左(向右)取三位后,取到最高(最低)位时候,如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位。
例
①将二进制数101110.101转换为八进制
得到结果:将101110.101转换为八进制为56.5
②将二进制数1101.1转换为八进制
得到结果:将1101.1转换为八进制为15.4
(2)将八进制转换为二进制
方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。
例:
①将八进制数67.54转换为二进制
因此,将八进制数67.54转换为二进制数为110111.101100,即110111.1011
大家从上面这道题可以看出,计算八进制转换为二进制
首先,将八进制按照从左到右,每位展开为三位,小数点位置不变
然后,按每位展开为22,21,20(即4、2、1)三位去做凑数,即a×22+ b×21 +c×20=该位上的数(a=1或者a=0,b=1或者b=0,c=1或者c=0),将abc排列就是该位的二进制数
接着,将每位上转换成二进制数按顺序排列
最后,就得到了八进制转换成二进制的数字。
以上的方法就是二进制与八进制的互换,大家在做题的时候需要注意的是
1)他们之间的互换是以一位与三位转换,这个有别于二进制与十进制转换
2)大家在做添0和去0的时候要注意,是在小数点最左边或者小数点的最右边(即整数的最高位和小数的最低位)才能添0或者去0,否则将产生错误
三、二进制与十六进制的转换
方法:与二进制与八进制转换相似,只不过是一位(十六)与四位(二进制)的转换,下面具体讲解
(1)二进制转换为十六进制
方法:取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。
如果向左(向右)取四位后,取到最高(最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。
①例:将二进制11101001.1011转换为十六进制
得到结果:将二进制11101001.1011转换为十六进制为E9.B
②例:将101011.101转换为十六进制
因此得到结果:将二进制101011.101转换为十六进制为2B.A
(2)将十六进制转换为二进制
方法:取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。
①将十六进制6E.2转换为二进制数
因此得到结果:将十六进制6E.2转换为二进制为01101110.0010即110110.001
四、八进制与十六进制的转换
方法:一般不能互相直接转换,一般是将八进制(或十六进制)转换为二进制,然后再将二进制转换为十六进制(或八进制),小数点位置不变。
那么相应的转换请参照上面二进制与八进制的转换和二进制与十六进制的转
五、八进制与十进制的转换
(1)八进制转换为十进制
方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。
例:①将八进制数67.35转换为十进制
(2)十进制转换为八进制
十进制转换成八进制有两种方法:
1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制
2)直接法:前面我们讲过,八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,还是整数部分的转换和小数部分的转换,下面来具体讲解一下:①整数部分
方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。
②小数部分
方法:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。
如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。
例:将十进制数796.703125转换为八进制数
解:先将这个数字分为整数部分796和小数部分0.703125
整数部分
小数部分
因此,得到结果十进制796.703125转换八进制为1434.55
上面的方法大家可以验证一下,你可以先将十进制转换,然后在转换为八进制,这样看得到的结果是否一样
六、十六进制与十进制的转换
十六进制与八进制有很多相似之处,大家可以参照上面八进制与十进制的转换自己试试这两个进制之间的转换。