二进制、八进制、十进制、十六进制之间转换(含小数部分)
二进制,八进制十进制十六进制之间数据转换
二进制,八进制十进制十六进制之间数据转换十进制转二进制(整数及小数部分):1、把该十进制数,用二因式分解,取余。
以235为例,转为二进制235除以2得117,余1117除以2得58,余158除以2得29,余029除以2得14,余114除以2得7,余07除以2得3,余13除以2得1,余1从得到的1开始写起,余数倒排,加在它后面,就可得11101011。
2、把十进制中的小数部份,转为二进制。
把该小数不断乘2,取整,直至没有小数为止,注意不是所有小数都能转为二进制!以0.75为例,0.75剩以2得1.50,取整数10.50剩以2得1,取整数1,顺序取数就可得0.11。
1、二进制数、八进制数、十六进制数转十进制数有一个公式:二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(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=272D 2、十进制数转二进制数、八进制数、十六进制数方法是相同的,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数部分拼接成一个数作为转换的最后结果。
例:见四级指导16页。
3、二进制数转换成其它数据类型3-1二进制转八进制:从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用0补足,就是一个相应八进制数的表示。
010110.001100B=26.14Q八进制转二进制反之则可。
3-2二进制转十进制:见13-3二进制转十六进制:从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进制的数字来表示,不足四位的用0补足,就是一个相应十六进制数的表示。
二进制,八进制,十进制,十六进制的换算
⼆进制,⼋进制,⼗进制,⼗六进制的换算⼗进制转⼆进制,整数部分按除2取余,⼩数部分按乘2取整.例:50/2 ........ 余025/2 ........ 余112/2 ........ 余06/2 ........ 余03/2 ........ 余1150的⼆进制就是 110010⼩数0.25*2 ........ 0.5 整数 00.5*2 ........ 1.0 整数 10.25的⼆进制数就是 0.01⼆进制转⼗进制10111 这是⼆进制数10111=1*2的4次⽅+0*2的3次⽅+1*2的2次⽅+1*2的1次⽅+1*2的0次⽅=16+0+4+2+1=23⼩数⼆进制转⼗进制整数部分从低位⾄⾼位1,2,4,8,16,32.⼩数部分从⼩数点位置开始:1/2,1/4,1/8,1/16.即:1010.1011=>8+2+1/2+1/8+1/16⼆进制与⼋进制,⼗六进制的对应关系⼆进制⼋进制⼆进制⼗六进制000 0 0000 0001 1 0001 1010 2 0010 2011 3 0011 3100 4 0100 4101 5 0101 5110 6 0110 6111 7 0111 71000 81001 91010 A1011 B1100 C1101 D1110 E1111 F⼆进制换⼋进制例:10101101 看做 010 101 101换成对应的就 255⼆进制换⼗六进制例:10111101101 看做 0101 1110 1101换成对应的就是 5ED⼗进制数换⼋进制数,整数部分按除8取余,⼩数部分按乘8取整.⼗进制转⼗六进制,整数部分按除16取余,⼩数部分按乘16取整. 2的0次⽅ 12的1次⽅ 22的2次⽅ 42的3次⽅ 82的4次⽅ 162的5次⽅ 322的6次⽅ 642的7次⽅ 1282的8次⽅ 2562的9次⽅ 5122的10次⽅ 10242的-1次⽅ 0.52的-2次⽅ 0.252的-3次⽅ 0.1252的-4次⽅ 0.06252的-5次⽅ 0.03125。
二进制八进制十进制十六进制之间的转换算法
二进制八进制十进制十六进制之间的转换算法二进制、八进制、十进制和十六进制是计算机中常用的数字系统。
它们之间的转换可以通过一些简单的算法实现。
下面我将分别介绍二进制到八进制、十进制和十六进制的转换算法,八进制到二进制、十进制和十六进制的转换算法,十进制到二进制、八进制和十六进制的转换算法,以及十六进制到二进制、八进制和十进制的转换算法。
1.二进制转八进制、十进制和十六进制的转换算法:-二进制转八进制:首先将二进制数按照从右向左每三位分组,不足三位的在左边补零,然后将每组转换为对应的八进制数即可。
(1)将二进制数按照从右向左每三位分组得到001011,不足三位的在左边补零;-二进制转十进制:二进制数的每一位乘以2的幂,然后将结果求和即可。
-二进制转十六进制:首先将二进制数按照从右向左每四位分组,不足四位的在左边补零,然后将每组转换为对应的十六进制数即可。
(1)将二进制数按照从右向左每四位分组得到00010110,不足四位的在左边补零;2.八进制转二进制、十进制和十六进制的转换算法:-八进制转二进制:将八进制数的每一位转换为对应的三位二进制数即可。
例如,将八进制数13转换为二进制数:-八进制转十进制:将八进制数的每一位乘以8的幂,然后将结果求和即可。
例如,将八进制数13转换为十进制数:1×8^1+3×8^0=11,所以13的十进制表示为11-八进制转十六进制:首先将八进制数转换为二进制数,然后将二进制数按照从右向左每四位分组,不足四位的在左边补零,最后将每组转换为对应的十六进制数即可。
例如,将八进制数13转换为十六进制数:(2)将二进制数按照从右向左每四位分组得到00000101,不足四位的在左边补零;(3)将每组转换为对应的十六进制数得到05,所以13的十六进制表示为053.十进制转二进制、八进制和十六进制的转换算法:-十进制转二进制:将十进制数不断除以2,直到商为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 。
(完整版)二进制、八进制、十进制、十六进制之间转换详解
二进制、八进制、十进制、十六进制之间转换一、十进制与二进制之间的转换(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. 二进制(Binary)——>八进制(Octal)例子1:将二进制数(10010)2转化成八进制数。
(10010)2=(010 010)2=(2 2)8=(22)8例子2:将二进制数(0.1010)2转化为八进制数。
(0.10101)2=(0. 101 010)2=(0. 5 2)8=(0.52)8诀窍:因为每三位二进制数对应一位八进制数,所以,以小数点为界,整数位则将二进制数从右向左每3位一隔开,不足3位的在左边用0填补即可;小数位则将二进制数从左向右每3位一隔开,不足3位的在右边用0填补即可。
2. 二进制(Binary)——>十进制(Decimal)例子1:将二进制数(10010)2转化成十进制数。
(10010)2=(1x24+0x23+0x22+1x21+0x20)10=(16+0+0+2+0)10=(18) 10例子2:将二进制数(0.10101)2转化为十进制数。
(0.10101)2=(0+1x2-1+0x2-2+1x2-3+0x2-4+1x2-5)10=(0+0.5+0.25+0.125+0.0625+0.03125)10=(0.96875)10诀窍:以小数点为界,整数位从最后一位(从右向左)开始算,依次列为第0、1、2、3………n,然后将第n位的数(0或1)乘以2的n-1次方,然后相加即可得到整数位的十进制数;小数位则从左向右开始算,依次列为第1、2、3……..n,然后将第n位的数(0或1)乘以2的-n次方,然后相加即可得到小数位的十进制数(按权相加法)。
3. 二进制(Binary)——>十六进制(Hex)例子1:将二进制数(10010)2转化成十六进制数。
(10010)2=(0001 0010)2=(1 2)16=(12) 16例子2:将二进制数(0.1010)2转化为十六进制数。
(0.10101)2=(0. 1010 1000)2=(0. A 8)16=(0.A8)16诀窍:因为每四位二进制数对应一位十六进制数,所以,以小数点为界,整数位则将二进制数从右向左每4位一隔开,不足4位的在左边用0填补即可;小数位则将二进制数从左向右每4位一隔开,不足4位的在右边用0填补即可。
二进制、八进制、十进制、十六进制之间的转换
⼆进制、⼋进制、⼗进制、⼗六进制之间的转换⼆进制是Binary,简写为B⼋进制是Octal,简写为O⼗进制为Decimal,简写为D⼗六进制为Hexadecimal,简写为H⽅法为:⼗进制数除2取余法,即⼗进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为⽌。
读数要倒叙读。
⼩数:乘2取整法,即将⼩数部分乘以2,然后取整数部分,剩下的⼩数部分继续乘以2,然后取整数部分,剩下的⼩数部分⼜乘以2,⼀直取到⼩数部分为零。
如果永远不能为零,就同⼗进制数的四舍五⼊⼀样,按照要求保留多少位⼩数时,就根据后⾯⼀位是0还是1,取舍,如果是零,舍掉,如果是1,向⼊⼀位。
换句话说就是0舍1⼊。
读数要从前⾯的整数读到后⾯的整数,即读数要顺序读。
0.125 转⼆进制第⼀步,将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.125 x 2 = 0.25 00.25 x 2 = 0.5 00.5 x 2 = 1.0 1150.125 转⼆进制10010110.0010.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;。
二进制,八进制,十进制和十六进制之间的互相转换【超详细】!
⼆进制,⼋进制,⼗进制和⼗六进制之间的互相转换【超详细】!在进⾏讲解之前,我们先在下⾯放置⼀个对应表,因为在理解下⾯转换的时候,你可以随时查看该表。
㈠:⼆进制转⼗进制⑴⼆进制转⼗进制的第⼀个⽅法是要从右到左⽤⼆进制的每个数去乘以2的相应次⽅,⼩数点后则是从左往右2的0次⽅是1(任何数的0次⽅都是1,0的0次⽅⽆意义)2的1次⽅是22的2次⽅是42的3次⽅是82的4次⽅是162的5次⽅是322的6次⽅是642的7次⽅是1282的8次⽅是2562的9次⽅是5122的10次⽅是1024㈡⼗进制转⼆进制⽅法为:⽤2整除⼗进制整数,可以得到⼀个商和余数;再⽤2去除商,⼜会得到⼀个商和余数,如此进⾏,直到商为⼩于1时为⽌,然后把先得到的余数作为⼆进制数的低位有效位,后得到的余数作为⼆进制数的⾼位有效位,依次排列起来。
具体如下图所⽰:㈢⼆进制转⼋进制⼆进制数转换成⼋进制数:从⼩数点开始,整数部分向左、⼩数部分向右,每3位为⼀组⽤⼀位⼋进制数的数字表⽰,不⾜3位的要⽤“0”补⾜3位,就得到⼀个⼋进制数。
(具体⽤法如下图)㈣:⼋进制转成⼆进制⼋进制转换成⼆进制数:⼋进制数通过除2取余法,得到⼆进制数,每个⼋进制对应三个⼆进制,不⾜时在最左边补充零。
(具体⽤法如下图)㈤⼆进制转⼗六进制⽅法为:与⼆进制转⼋进制⽅法近似,⼋进制是取三合⼀,⼗六进制是取四合⼀。
(注意事项,4位⼆进制转成⼗六进制是从右到左开始转换,不⾜时补0)。
(具体⽤法如下图)㈥⼗六进制转⼆进制⼗六进制转⼆进制:⼗六进制数通过除2取余法,得到⼆进制数,每个⼗六进制对应四个⼆进制,不⾜时在最左边补充零。
(具体⽤法如下图)(七)、⼗进制转⼋进制或者⼗六进制有两种⽅法第⼀:间接法—把⼗进制转成⼆进制,然后再由⼆进制转成⼋进制或者⼗六进制。
这⾥不再做图⽚⽤法解释。
第⼆:直接法—把⼗进制转⼋进制或者⼗六进制按照除8或者16取余,直到商为0为⽌。
(⼋)、⼋进制或者⼗六进制转成⼗进制⽅法为:把⼋进制、⼗六进制数按权展开、相加即得⼗进制数。
二进制,八进制,十进制,十六进制之间的转换算法
例1:将0.125换算为二进制
得出结果:将0.125换算为二进制(0.001)2
2) 要能求出每位的值
二、 二进制与八进制之间的转换
首先,我们需要了解一个数学关系,即23=8,24=16,而八进制和十六进制是用这
关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。
接着,记住4个数字8、4、2、1(23=8、22=4、21=2、20=1)。现在我们来练习二进制与八进制之间的转换。
接着,将每位上转换成二进制数按顺序排列
最后,就得到了八进制转换成二进制的数字。
以上的方法就是二进制与八进制的互换,大家在做题的时候需要注意的是
1) 他们之间的互换是以一位与三位转换,这个有别于二进制与十进制转换
2) 大家在做添0和去0的时候要注意,是在小数点最左边或者小数点的最右边(即整数的最高位和小数的最低位)才能添0或者去0,否则将产生错误
(3) 二进制转换为十进制 不分整数和小数部分
方法:按权相加法,即将二进制每位上的数乘以权,然后相加之和即是十进制数。例
将二进制数101.101转换为十进制数。
得出结果:(101.101)2=(5.625)10
大家在做二进制转换成十进制需要注意的是
1) 要知道二进制每位的权值
① 将八进制数67.54转换为二进制
因此,将八进制数67.54转换为二进制数为110111.101100,即110111.1011
各种进位制之间的转换(含小数)
二进制、八进制、十进制、十六进制之间的转换(小数部分)1、四种常用进制的组成(1)二进制:由数字0和1组成(2)八进制:由数字0至7组成(3)十进制:由数字0至9组成(4)十六进制:由数字0至9以及字母A至F组成2、二进制转八进制、十进制、十六进制(含小数)(1)二进制转八进制(含小数)方法:分为整数部分和小数部分①整数部分:从右往左,三位一组,不足三位,高位补0,补齐三位②小数部分:从左往右,三位一组,不足三位,低位补0,补齐三位③最后每一组直接按权展开求和实例:将含有小数部分的二进制数101110.101转换为八进制数(2)二进制转十进制(含小数)方法:直接按权展开求和,即可得到相应的十进制数实例:将含有小数部分的二进制数101110.101转换为十进制数注解:二进制转十进制也可以如二进制转八进制一样,分为整数部分和小数部分来分别按权展开求和,但是最终结果是一样的,而且还稍显麻烦,直接两部分一起按权展开求和简单一点(3)二进制转十六进制(含小数)方法:分为整数部分和小数部分①整数部分:从右往左,四位一组,不足四位,高位补0,补齐四位②小数部分:从左往右,四位一组,不足四位,低位补0,补齐四位③最后每一组直接按权展开求和实例:将含有小数部分的二进制数101110.101转换为十六进制数3、八进制转二进制、十进制、十六进制(含小数) (1)八进制转二进制(含小数)方法:以一化三,小数点位置不变①以一化三:是指每一位八进制数化为三位二进制数②每一位八进制数化为三位二进制数的时候:(Ⅰ)整数部分中:不足三位,高位补0(Ⅱ)小数部分中,不足三位,低位补0实例:将含有小数部分的八进制数56.5转换为二进制数(2)八进制转十进制(含小数)方法:直接按权展开求和,即可得到相应的十进制数实例:将含有小数部分的八进制数56.5转换为十进制数注解:八进制转十进制也可以如二进制转八进制一样,分为整数部分和小数部分来分别按权展开求和,但是最终结果是一样的,而且还稍显麻烦,直接两部分一起按权展开求和简单一点(3)八进制转十六进制(含小数)方法:先将含小数部分的八进制转换为二进制,然后再将二进制转换为十六进制①八进制转二进制:以一化三,小数点位置不变(以一化三是指每一位八进制数化为三位二进制数,每一位八进制数化为三位二进制数的时候,整数部分中,不足三位,高位补0,小数部分中,不足三位,低位补0)②二进制转十六进制:整数部分,从右往左,四位一组,不足四位,高位补0,补齐四位;小数部分,从左往右,四位一组,不足四位,低位补0,补齐四位,最后每一组直接按权展开求和实例:将含有小数部分的八进制数56.5转换为十六进制数4、十进制转二进制、八进制、十六进制(含小数)(1)十进制转二进制(含小数)方法:分为整数部分和小数部分①整数部分:除2取余,直到商为0,余数倒排②小数部分:乘2取整,直到小数部分为0,整数顺排③小数部分乘2取整的过程中,有可能小数部分一直不为0,那么此时只需要满足题目要求的精度位数就可以了实例:将含有小数部分的十进制数46.625转换为二进制数(2)十进制转八进制(含小数)方法:有两种方法,这里只以第二种为例解释①间接法:先将十进制转换成二进制,然后再将二进制转换成八进制(参考前面十进制转二进制以及二进制转八进制)②直接法:分为整数部分和小数部分(Ⅰ)整数部分:除8取余,直到商为0,余数倒排(Ⅱ)小数部分:乘8取整,直到小数部分为0,整数顺排(Ⅲ)小数部分乘8取整的过程中,有可能小数部分一直不为0,那么此时只需要满足题目要求的精度位数就可以了实例:将含有小数部分的十进制数46.625转换为八进制数(3)十进制转十六进制(含小数)方法:有两种方法,这里只以第二种为例解释①间接法:先将十进制转换成二进制,然后再将二进制转换成十六进制(参考前面十进制转二进制以及二进制转十六进制)②直接法:分为整数部分和小数部分(Ⅰ)整数部分:除16取余,直到商为0,余数倒排(Ⅱ)小数部分:乘16取整,直到小数部分为0,整数顺排(Ⅲ)小数部分乘16取整的过程中,有可能小数部分一直不为0,那么此时只需要满足题目要求的精度位数就可以了实例:将含有小数部分的十进制数46.625转换为十六进制数5、十六进制转二进制、八进制、十进制(含小数)(1)十六进制转二进制(含小数)方法:以一化四,小数点位置不变①以一化四:是指每一位十六进制数化为四位二进制数②每一位十六进制数化为四位二进制数的时候:(Ⅰ)整数部分中:不足四位,高位补0(Ⅱ)小数部分中:不足四位,低位补0实例:将含有小数部分的十六进制数2E.A转换为二进制数(2)十六进制转八进制(含小数)方法:先将十六进制转换为二进制,然后再将二进制转换为八进制●十六进制转二进制:以一化四,小数点位置不变①以一化四:是指每一位十六进制数化为四位二进制数②每一位十六进制数化为四位二进制数的时候:(Ⅰ)整数部分中:不足四位,高位补0(Ⅱ)小数部分中:不足四位,低位补0●二进制转八进制:分为整数部分和小数部分①整数部分:从右往左,三位一组,不足三位,高位补0,补齐三位②小数部分:从左往右,三位一组,不足三位,低位补0,补齐三位③最后每一组直接按权展开求和实例:将含有小数部分的十六进制数2E.A转换为八进制数(3)十六进制转十进制(含小数)方法:直接按权展开求和,即可得到相应的十进制数实例:将含有小数部分的十六进制数2E.A转换为十进制数6、总结①不管几进制转换为十进制,都是直接按权展开求和,“权”为即将转换为十进制数的进位制大小,比如二进制转换为十进制,那么“权”就是“2”,以此类推!②十进制(含小数)转换为几进制:(1)整数部分:都是“除几”取余,直到商为0,余数倒排;比如十进制转换为二进制,那么就是“除2”取余,直到商为0,余数倒排;(2)小数部分:都是“乘几”取整,直到小数部分为0,整数顺排;(小数部分“乘几”取整的过程中,有可能小数部分一直不为0,那么此时只需要满足题目要求的精度位数就可以了)。
各进制转换(含小数)
提示:各类进制在实际中表示十进制:D(Decimal)二进制:B(Binary)八进制:O(Octal)十六进制:H(Hexadecimal)如:(4B1)16又可写为4B1H(12345)8又可以写为12345O(10011)2又可以写为10011B1、非十进制与十进制的转换1.1、基本原则:按权展开法,即把各数位乘权的i次方后相加1.2、实例:例1:二进制与十进制的转换,带小数部分01011010.01B=0×2^7+1×2^6+0×2^5+1×2^4+1×2^3+0×2^2 +1×2^1+0×2^0+0×2^-1+1×2^-2 = 90.25例2:八进制与十进制的转换,如有小数部分,对应乘相应8的-i次方【字母O,表示八进制】245O = 3x8^2+4x8^1+5x8^0 = 229例3:十六进制与十进制的转换,如有小数部分,对应乘相应16的-i次方【字母H,表示十六进制】F2DH = 15x16^2+2x16^1+13x16^0 = 38852、十进制与非十进制的转换2.1、基本原则:原则1:整数部分与小数部分分别转换;原则2:整数部分采用除基数(转换为2进制则每次除2,转换为8进制每次除8,以此类推)取余法,直到商为0,而余数作为转换的结果,第一次除后的余数为最低为,最后一次的余数为最高位;原则3:小数部分采用乘基数(转换为2进制则每次乘2,转换为8进制每次乘8,以此类推)取整法,直至乘积为整数或达到控制精度。
2.2、实例:例1:将十进制数725.625分别转换为十六进制、八进制、二进制转换为二进制,整数部分每次除2,小数部分每次乘以2:整数部分:小数部分:2|725…………..余数=1 最低位 0.6252|362…………..余数=0 × 22|181…………..余数=1 1.250…..整数=1 小数部分最高位,靠近点的那位2|90……..……余数=0 0.2502|45…………..余数=1 × 22|22…………..余数=0 0.500…..整数=02|11…………..余数=1 × 22|5…………..余数=1 1.000…..整数=1 小数部分最低位,最远点的那位2|2…………..余数=0 0.0002|1…………..余数=1 最高位>0¨商为0,转换结束积为0,转换结束转换结果为:725.625D=1011010101.101B3、二进制、八进制、十六进制之间的转换3.1、基本原则:原则1:将二进制转换成八进制按3位一组进行;原则2:将二进制转换成十六进制按4位一组进行;原则3:分组时如位数不够,整数部分在最左边补0,小数部分在最右边补0;原则4:八进制转二进制,将1位八进制转换为3位二进制;原则5:十六进制转二进制,将1位十六进制转换为4位二进制。
各种进制的相互转换
各种进制的相互转换在计算机科学中,常用的进制有二进制、八进制、十进制和十六进制。
进制相互转换的方法如下:1、二进制转八进制二进制数每三位一组,从小数点开始向左或向右加0补齐,再将每组转换为相应的八进制数即可。
例如:二进制数111101.1101,将小数点左边的111101和右边的1101分别转换为八进制数,即得到:175.54。
2、八进制转二进制将每个八进制数转换为相应的三位二进制数,再将结果拼接在一起即可。
例如:八进制数345.67,将3、4、5、6、7分别转换为三位二进制数,即011、100、101、110、111,连接起来即得到:011100101110.110。
3、二进制转十六进制二进制数每四位一组,从小数点开始向左或向右加0补齐,再将每组转换为相应的十六进制数即可。
例如:二进制数101110.0111,将小数点左边的101110和右边的0111分别转换为十六进制数,即得到:5E.7。
4、十六进制转二进制将每个十六进制数转换为相应的四位二进制数,再将结果拼接在一起即可。
例如:十六进制数3C.5D,将3、C、5、D分别转换为四位二进制数,即0011、1100、0101、1101,连接起来即得到:0011110001011101。
5、十进制转二进制将十进制数不断除以2,得到的余数即为二进制数的每一位,将余数从低位到高位排列即可。
例如:十进制数153,将其除以2得到商76、余数1,再将76除以2得到商38、余数0,依次计算下去得到二进制数10011001。
6、二进制转十进制将每一位上的数值乘上2的n次方(从右到左,n从0开始递增),再将结果相加即可。
例如:二进制数1011001,将其中每一位上的数值乘上2的n次方,然后相加,即得到:1×2^6+0×2^5+1×2^4+1×2^3+0×2^2+0×2^1+1×2^0=89。
以上是进制相互转换的一些基本方法,可以方便地将不同进制之间的数据互相转换。
二进制、八进制、十进制、十六进制之间转换(含小数部分)
二进制、八进制、十进制、十六进制之间转换一、十进制与二进制之间的转换(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入。
(完整版)二进制、八进制、十进制、十六进制之间转换详解.doc
二进制、八进制、十进制、十六进制之间转换一、十进制与二进制之间的转换(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 。
进制 八进制 十进制 十六进制之间转换 含小数部分
二进制、八进制、十进制、十六进制之间转换一、十进制与二进制之间的转换(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,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为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.十进制想要转换为n进制:
整数部分不停地除以n,直到商为0即可,记录下每次的余数,从最后一个余数开始排列即可。
小数部分不停地乘以n,每次乘完后把个位数的数字记录后再变为0,再进行下一次乘法运算,直到小数部分为0即可,记录下每次乘法结束后个位数的数字为多少,从第一个数字开始排列即可。
2.n进制转换为十进制:
n进制上的每一个数字乘以位权再把它们全部加起来。
(如果不懂位权是啥的,请看:所谓位权,是指一个数值的每一位上的数字的权值的大小。
例如十进制数4567从低位到高位的位权分别为10^0、10^1、10^2、10^3。
因为:4567=4x10^3+5x10^2+6x10^1+7x10^0),
3.二进制转换为八进制:
从右至左,每3个为一组,不足的补0,通过转换为十进制的方法把它们转换为数字,再依次写下了即可。
4.八进制转换为二进制:
每一个数转化为3位的二进制数即可,不足的补0,再按顺序排列即可。
5.二进制转换为16进制:
从右至左,每4个为一组,不足的补0,通过转换为十进制的
方法把它们转换为数字,需注意的是十六进制中10-15为A-F,再依次写下了即可。
6.十六进制转换为二进制:
每一个数转化为4位的二进制数即可,不足的补0,再按顺序排列即可。
7.八进制转换为十六进制:
先转换为二进制,再转换为十六进制即可。
8。
十六进制转换为八进制:
先转换为二进制,再转换为八进制即可。
详细进制转换
二进制、八进制、十进制、十六进制之间转换一、十进制与二进制之间的转换(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入。
读数要从前面的整数读到后面的整数,下面举例:例:将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.45转换为二进制(保留到小数点第四位)从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。
进制转换:二进制、八进制、十六进制、十进制之间的转换
将二进制、八进制、十六进制转换为十进制二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。
所谓“权”,也即“位权”。
假设当前数字是 N 进制,那么:•对于整数部分,从右往左看,第 i 位的位权等于N i-1•对于小数部分,恰好相反,要从左往右看,第 j 位的位权为N-j。
更加通俗的理解是,假设一个多位数(由多个数字组成的数)某位上的数字是 1,那么它所表示的数值大小就是该位的位权。
1) 整数部分例如,将八进制数字53627 转换成十进制:从右往左看,第1位的位权为 80=1,第2位的位权为 81=8,第3位的位权为 82=64,第4位的位权为 83=512,第5位的位权为84=4096 ……第n位的位权就为 8n-1。
将各个位的数字乘以位权,然后再相加,就得到了十进制形式。
注意,这里我们需要以十进制形式来表示位权。
再如,将十六进制数字 9FA8C 转换成十进制:从右往左看,第1位的位权为 160=1,第2位的位权为 161=16,第3位的位权为 162=256,第4位的位权为 163=4096,第5位的位权为164=65536 ……第n位的位权就为 16n-1。
将各个位的数字乘以位权,然后再相加,就得到了十进制形式。
将二进制数字转换成十进制也是类似的道理:从右往左看,第1位的位权为 20=1,第2位的位权为 21=2,第3位的位权为 22=4,第4位的位权为 23=8,第5位的位权为 24=16 ……第n位的位权就为 2n-1。
将各个位的数字乘以位权,然后再相加,就得到了十进制形式。
2) 小数部分例如,将八进制数字 423.5176 转换成十进制:小数部分和整数部分相反,要从左往右看,第1位的位权为 8-1=1/8,第2位的位权为 8-2=1/64,第3位的位权为 8-3=1/512,第4位的位权为 8-4=1/4096 ……第m位的位权就为 8-m。
再如,将二进制数字 1010.1101 转换成十进制:小数部分和整数部分相反,要从左往右看,第1位的位权为 2-1=1/2,第2位的位权为 2-2=1/4,第3位的位权为 2-3=1/8,第4位的位权为2-4=1/16 ……第m位的位权就为 2-m。
- 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)要能求出每位的值
二、二进制与八进制之间的转换
首先,我们需要了解一个数学关系,即2^3=8,2^4=16,而八进制和十六进制是用这
关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。
接着,记住4个数字8、4、2、1(2^3=8、2^2=4、2^1=2、2^0=1)。
现在我们来练习二进制与八进制之间的转换。
(1)二进制转换为八进制
方法:取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加,得到的数就是一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。
如果向左(向右)取三位后,取到最高(最低)位时候,如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位。
例
①将二进制数101110.101转换为八进制
得到结果:将101110.101转换为八进制为56.5
②将二进制数1101.1转换为八进制
得到结果:将1101.1转换为八进制为15.4
(2)将八进制转换为二进制
方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。
例:
①将八进制数67.54转换为二进制
因此,将八进制数67.54转换为二进制数为110111.101100,即110111.1011
大家从上面这道题可以看出,计算八进制转换为二进制
首先,将八进制按照从左到右,每位展开为三位,小数点位置不变
然后,按每位展开为2^2,2^1,2^0(即4、2、1)三位去做凑数,即a×2^2+ b×2^1 +c×2^0=该位上的数(a=1或者a=0,b=1或者b=0,c=1或者c=0),将abc排列就是该位的二进制数
接着,将每位上转换成二进制数按顺序排列
最后,就得到了八进制转换成二进制的数字。
以上的方法就是二进制与八进制的互换,大家在做题的时候需要注意的是
1)他们之间的互换是以一位与三位转换,这个有别于二进制与十进制转换
2)大家在做添0和去0的时候要注意,是在小数点最左边或者小数点的最右边(即整数的最高位和小数的最低位)才能添0或者去0,否则将产生错误
三、二进制与十六进制的转换
方法:与二进制与八进制转换相似,只不过是一位(十六)与四位(二进制)的转换,下面具体讲解(1)二进制转换为十六进制
方法:取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。
如果向左(向右)取四位后,取到最高(最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。
①例:将二进制11101001.1011转换为十六进制。