八进制数和进制数相互转换
- 格式:doc
- 大小:148.52 KB
- 文档页数:18
进制转换规则⼀、⼗进制与⼆进制之间的相互转换⼗进制——>⼆进制1. 整数部分和⼩数部分分别转换,2.⼗进制整数转换为⼆进制整数:除2,由下往上取余3.⼗进制⼩数转换为⼆进制⼩数:乘2,由上往下取整⼆进制——>⼗进制将⼆进制数的每⼀位数乘以它的权,然后相加,即可求得对应的⼗进制数值。
⼆、⼋进制与⼗进制、⼆进制之间的相互转换⼆进制——>⼋进制从⼩数点起,每三位⼆进制位分成⼀组(不⾜3位时,在⼩数点左边时左边补0,在⼩数点右边时右边补0),然后写出每⼀组的等值⼋进制数,顺序排列起来就得到所要求的的⼋进制数。
⼋进制——>⼆进制将每⼀位⼋进制数⽤三位⼆进制数表⽰,就可以直接将⼋进制数转换成⼆进制数。
⼋进制——>⼗进制将⼋进制数的每⼀位数乘以它的权,然后相加,即可求得对应的⼗进制数值。
⼗进制——>⼋进制1. 整数部分和⼩数部分分别转换,2.⼗进制整数转换为⼋进制整数:除8,由下往上取余3.⼗进制⼩数转换为⼋进制⼩数:乘8,由上往下取整三、⼗六进制与⼗进制、⼆进制之间的相互转换⼗六进制——>⼗进制将⼗六进制数的每⼀位数乘以它的权,然后相加,即可求得对应的⼗进制数值。
⼗进制——>⼗六进制1. 整数部分和⼩数部分分别转换,2.⼗进制整数转换为⼗六进制整数:除16,由下往上取余3.⼗进制⼩数转换为⼗六进制⼩数:乘16,由上往下取整⼗六进制——>⼆进制将每⼀位⼗六进制数⽤四位⼆进制数表⽰,就可以直接将⼗六进制数转换成⼆进制数。
⼆进制——>⼗六进制从⼩数点开始,每4位⼆进制数为⼀组(不⾜4位时,在⼩数点左边时左边补0,在⼩数点右边时右边补0),将每⼀组⽤相应的⼗六进制数符来表⽰,即可得到正确的⼗六进制数。
二进制、八进制、十进制、十六进制之间转换一、十进制与二进制之间的转换(1)十进制转换为二进制,分为整数部分和小数部分①整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。
下面举例:例:将十进制的168转换为二进制分析:(2)例1分析:第一步,将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)二进制转换为十进制不分整数和小数部分1)2)二、(1)②将二进制数1101.1转换为八进制得到结果:将1101.1转换为八进制为15.4(2)将八进制转换为二进制方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。
十进制转二进制: 用 2 辗转相除至结果为 1 将余数和最后的 1 从下向上倒序写 就是结果 例如 302 302/2 = 151 余 0 151/2 = 75 余 1 75/2 = 37 余 1 37/2 = 18 余 1 18/2 = 9 余 0 9/2 = 4 余 1 4/2 = 2 余 0 2/2 = 1 余 0 故二进制为 100101110 二进制转十进制 从最后一位开始算,依次列为第 0、1、2...位 第 n 位的数(0 或 1)乘以 2 的 n 次方 得到的结果相加就是答案 例如:01101011.转十进制: 第 0 位:1 乘 2 的 0 次方=1 1 乘 2 的 1 次方=2 0 乘 2 的 2 次方=0 1 乘 2 的 3 次方=8 0 乘 2 的 4 次方=0 1 乘 2 的 5 次方=32 1 乘 2 的 6 次方=64 0 乘 2 的 7 次方=0 然后:1+2+0 +8+0+32+64+0=107.二进制 01101011=十进制 107. .十进制转二进制(整数及小数部分): 十进制转二进制(整数及小数部分):1、把该十进制数,用二因式分解,取余。
、把该十进制数,用二因式分解,取余。
以 235 为例,转为二进制 235 除以 2 得 117,余 1 117 除以 2 得 58,余 1 58 除以 2 得 29,余 0 29 除以 2 得 14,余 114 除以 2 得 7,余 0 7 除以 2 得 3,余 1 3 除以 2 得 1,余 1 从得到的 1 开始写起,余数倒排,加在它后面,就可得 11101011。
2、把十进制中的小数部份,转为二进制。
、把十进制中的小数部份,转为二进制。
把该小数不断乘 2,取整,直至没有小数为止,注意不是所有小数都能转为二进制! 以 0.75 为例, 0.75 剩以 2 得 1.50,取整数 1 0.50 剩以 2 得 1,取整数 1,顺序取数就可得 0.11。
二进制、八进制、十进制、十六进制数据之
间相互转换方法
1. 二进制转十进制:将二进制数从右往左依次乘以2,每一位的乘积再相加,结果即为十进制数。
例如:1101(2)= 1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 13(10)
2. 十进制转二进制:将十进制数不断除以2,余数依次排列得到的数字序列即为二进制数。
例如:13(10)= 1101(2)
3. 八进制转十进制:将八进制数从右往左依次乘以8,每一位的乘积再相加,结果即为十进制数。
例如:345(8)= 5×8⁰ + 4×8¹+ 3×8² = 229(10)
4. 十进制转八进制:将十进制数不断除以8,余数依次排列得到的数字序列即为八进制数。
例如:229(10)= 345(8)
5. 十六进制转十进制:将十六进制数从右往左依次乘以16的幂次方,每一位的乘积再相加,结果即为十进制数。
例如:2D(16)= 13×16⁰ + 2×16¹ = 45(10)
6. 十进制转十六进制:将十进制数不断除以16,余数依次排列得到的数字序列即为十六进制数,若余数为10~15,则用A~F表示。
例如:45(10)= 2D(16)。
一、十进制与二进制之间的转换(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. 不同进制之间的转换(1)不同进制之间进行转换应遵循转换原则。
其转换原则是:如果两个有理数相等,则有理数的整数部分和分数部分一定分别相等。
也就是说,若转换前两数相等,则转换后仍必须相等。
1). 十进制数与二进制数的相互转换(1) 二进制数转换成十进制数将二进制数转换成十进制数,只要将二进制数用计数制通用形式表示出来,计算出结果,便得到相应的十进制数。
(2) 十进制数转换成二进制数整数部分和小数部分分别用不同的方法进行转换。
整数部分的转换采用的是除2取余法。
其转换原则是:将该十进制数除以2,得到一个商和余数(K0),再将商除以2,又得到一个新的商和余数(K1)。
如此反复,直到商是0时得到余数(Kn-1),然后将所得到的各次余数,以最后余数为最高位,最初余数为最低位依次排列,则这就是该十进制数对应的二进制数。
这种方法又称为"倒序法"。
【例1-6】将(123)10转换成二进制数,结果是(1111011)2。
(3) 小数部分的转换小数部分的转换采用的是乘2取整法。
其转换原则是:将十进制数的小数乘2,取乘积中的整数部分作为相应二进制数小数点后最高位K-1,反复乘2,逐次得到K-2、K-3、…、K-m,直到乘积的小数部分为0或位数达到精确度要求为止。
然后把每次乘积的整数部分由上而下依次排列起来(K-1K-2…K-m)。
即所求的二进制数。
这种方法又称为"顺序法"。
【例1-7】将十进制数0.3125转换成相应的二进制数,结果是(0.0101)2。
【例1-8】将(25.25)10转换成二进制数。
分析:对于这种既有整数又有小数部分的十进制数,可将其整数和小数部分分别转换成二进制数,然后再把两者连接起来。
转换过程如下。
2. 不同进制之间的转换(2)十进制数与其他进制数的相互转换方法同十进制数与二进制数的相互转换方法一样,不同之处是具体数制的进位基数不同。
2). 十进制与八进制数的相互转换八进制数转换为十进制数:以8为基数按权展开并相加。
进制数的转换在计算机科学中,进制数是十分重要的概念。
进制数是指使用一定的进位规则,将数字表示为不同进制下的数。
常见的进制有二进制、八进制、十进制和十六进制。
在计算机中,二进制是最常用的进制,因为计算机内部的所有数据都是以二进制形式存储的。
因此,我们需要掌握进制数的转换方法,以便在编程和计算机科学中应用。
一、二进制转八进制和十六进制将二进制数转换为八进制或十六进制,需要先将二进制数转换为十进制数,然后再将十进制数转换为八进制或十六进制。
下面是一个将二进制数转换为八进制和十六进制的示例:1. 将二进制数10110101转换为八进制数。
首先,将二进制数转换为十进制数:101101012 = 1 × 27 + 0 × 26 + 1 × 25 + 1 × 24 + 0 ×23 + 1 × 22 + 0 × 21 + 1 × 20= 18110然后,将十进制数181除以8,得到商22和余数5。
将余数5作为八进制数的第一位。
将商22再次除以8,得到商2和余数6。
将余数6作为八进制数的第二位。
最后,将商2作为八进制数的第三位。
因此,二进制数10110101转换为八进制数265。
2. 将二进制数10110101转换为十六进制数。
首先,将二进制数转换为十进制数:101101012 = 1 × 27 + 0 × 26 + 1 × 25 + 1 × 24 + 0 ×23 + 1 × 22 + 0 × 21 + 1 × 20= 18110然后,将十进制数181除以16,得到商11和余数5。
将余数5作为十六进制数的第一位。
将商11再次除以16,得到商0和余数11。
将余数11转换为十六进制中的B,作为十六进制数的第二位。
因为商为0,所以最后的十六进制数为5B。
二、八进制和十六进制转二进制将八进制或十六进制数转换为二进制数,需要将每个八进制或十六进制位转换为对应的三个或四个二进制位。
二进制、八进制、十进制、十六进制之间转换一、十进制与二进制之间的转换(1)十进制转换为二进制,分为整数部分和小数部分①整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。
下面举例:例:将十进制的168转换为二进制得出结果将十进制的168转换为二进制,(101000)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才得到的,因此它是最高位,读数字从最后的余数向前读,即101000(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。
八进制076转二进制算法步骤
二进制和八进制相互转换的方法如下:
1、先了解二进制数与八进制数之间的对应关系。
2、进制转换成八进制的方法是,取三合一法,即从二进制的小数点为分界点,向左(或向右)每三位取成一位。
3、分好组以后,对照二进制与八进制数的对应表,将三位二进制按权相加,得到的数就是一位八进制数,然后按顺序排列,小数点的位置不变哦,最后得到的就是八进制数。
4、这里需要注意的是,在向左(或向右)取三位时,取到最高位(最低位)如果无法凑足三位,就可以在小数点的最左边(或最右边)补0,进行换算。
5、下面看看将八进制转为二进制,反过来啦,方法就是一分三,即一个八进制数分成三个二进制数,用三位二进制按权相加,最后得到二进制,小数点依旧就可以了。
二进制是计算技术中广泛采用的一种数制。
二进制数据是用0和1两个数码来表示的数。
它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。
八进制,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7
八个数字,逢八进1。
一些编程语言中常常以数字0开始表明该数字是八进制。