计算机考试中各种进制转换的计算方法
各个进制之间的转化公式
各个进制之间的转化公式
1. 二进制转换为十进制,将二进制数按权展开,然后相加即可。例如,二进制数1011转换为十进制的计算公式为,12^3 + 02^2 + 12^1 + 12^0 = 8 + 0 + 2 + 1 = 11。
2. 十进制转换为二进制,采用除以2取余数的方法,将余数倒
序排列即可得到二进制数。例如,十进制数13转换为二进制的计算
公式为,13÷2=6余1,6÷2=3余0,3÷2=1余1,1÷2=0余1,所
以13的二进制表示为1101。
3. 十进制转换为八进制,采用除以8取余数的方法,将余数倒
序排列即可得到八进制数。
4. 八进制转换为十进制,将八进制数按权展开,然后相加即可。
5. 十进制转换为十六进制,采用除以16取余数的方法,将余
数倒序排列即可得到十六进制数。
6. 十六进制转换为十进制,将十六进制数按权展开,然后相加
即可。
以上就是各个进制之间的转化公式,通过这些公式,我们可以在不同进制之间进行转换,从而更好地理解和应用数字。希望这些信息能对你有所帮助。
计算机中进制转换
一、十进制与二进制之间的转换
二、 (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转换为二进制(保留到小数点第四位)
计算机一级考试一个重点:进制
进制
▲ 进制中会出现这些:N=34D说明一下,你可能在某些数字的后边看到过加有一个字母,这个字母便是用来表示数制的,十进制数用D<也可以不用>,二进制数用B,八进制数用0,十六进制数用F)
1.进制
(1)十进制计数制:有0、1、2、3、4、5、6、7、8、9十个数码,逢十进一。(2)二进制计数制:仅有0、1两个数码,逢二进一。(0+0=0 0+仁11+0=1
1+1=10)
(3)八进制计数制:有0、1、2、3、4、5、6、7共8个数码,逢八进一。
(7+1=10)
(4)十六进制计数制:有 0、1、2、3、4、5、6、7、8、9、A( =10)、B
( =11)、 C( =12)、D( =13)、E( =14)、F( =15)共十六个数码,逢十六进一。(F+1=10
(5)数的表示:(数值)计数制
例:十六进制:(2BF)16 =2BF H (十进制数默认,可不加下标。)八进制:(67) 8=67 O
2.数制间的转换(输入计算机的数都要被转换为二进制)
(1)各进位制数转换为十进制数
、八、十六进制转换为十进制的通式(位权法):
整数部分:二、八、十六进制的数从小数点往左数第
n位(个位为第一位,,),第n位上的数字为Bn,当前为x进制
+A(n-1)*x A(n-2) +, 即当前进制数=Ai*x A(n-1)
+A z*x A1 +A1*xA0
小数部分:二、八、十六进制的数从小数点后往右数第 m位,第m位上的数字为Am,当前为x进制
+B2*xA(-m2)+ ,, 即当前进制数=B1*xA(-m1)
+B(m-1)*xA(-m(m-1))+B m*xA(-m)
计算机的进制计算方法
计算机的进制计算方法!(韬杰整理)
1.(1)二进制转十进制方法:“按权展开求和”例:(1011.01)2 =
(1×2^3+0×2^2+1×2^1+1×2^0+0×2^(-1)+1×2^(-2) )10 =
(8+0+2+1+0+0.25)10 =(11.25)10
(2)十进制转二进制.十进制整数转二进制数:“除以2取余,逆序排列”(除二取余法)例:(89)10 =(1011001)2 89÷2 (1)
44÷2 ......0 22÷2 ......0 11÷2 ......1 5÷2......1 2÷2 0
1 ·十进制小数转二进制数:“乘以2取整,顺序排列”(乘2取整法)
例: (0.625)10= (0.101)2 0.625X2=1.25 ……1 0.25
X2=0.50 ......0 0.50 X2=1.00 (1)
2.八进制与二进制的转换:
二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,每3位为一组用一位八进制数的数字表示,不足3位的要用“0”补足3位,就得
到一个八进制数。八进制数转换成二进制数:把每一个八进制数转换成3
位的二进制数,就得到一个二进制数。八进制数字与二进制数字对应关系
如下:000 -> 0 100 -> 4 001 -> 1 101 -> 5 010 -> 2 110 -> 6
011 -> 3 111 -> 7 例:将八进制的37.416转换成二进制数: 3 7 . 4
1 6 011 111 .100 001 110 即:(37.416)8 =(11111.10000111)
计算机的进制计算方法
计算机的进制计算方法!(韬杰整理)
1.(1)二进制转十进制方法:“按权展开求和”例:(1011.01)2 =(1×2^3+0×2^2+1×2^1+1×2^0+0×2^(-1)+1×2^(-2) )10 =
(8+0+2+1+0+0.25)10 =(11.25)10
(2)十进制转二进制.十进制整数转二进制数:“除以2取余,逆序排列”(除二取余法)例:(89)10 =(1011001)2 89÷2 (1)
44÷2 ......0 22÷2 ......0 11÷2 ......1 5÷2 ......1 2÷2 0
1 ·十进制小数转二进制数:“乘以2取整,顺序排列”(乘2取整法)
例: (0.625)10= (0.101)2 0.625X2=1.25 ……1 0.25
X2=0.50 ......0 0.50 X2=1.00 (1)
2.八进制与二进制的转换:
二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,每3位为一组用一位八进制数的数字表示,不足3位的要用“0”补足3位,就得
到一个八进制数。八进制数转换成二进制数:把每一个八进制数转换成3
位的二进制数,就得到一个二进制数。八进制数字与二进制数字对应关系
如下:000 -> 0 100 -> 4 001 -> 1 101 -> 5 010 -> 2 110 -> 6
011 -> 3 111 -> 7 例:将八进制的37.416转换成二进制数: 3 7 . 4
1 6 011 111 .100 001 110 即:(37.416)8 =(11111.10000111)
各进制之间的转换方法及表格
各进制之间的转换方法及表格
1. 介绍
在计算机科学和数学领域中,进制是表示数字的一种方式。常见的进制包括二进制、八进制、十进制和十六进制。不同进制之间的转换是计算机科学和数学中非常重要的基本知识点。本文将介绍各种进制之间的转换方法,并提供一个详细的表格以便于查阅。
2. 进制介绍
2.1 二进制(Binary)
二进制是计算机中最基础也最常用的一种进制,它只有两个数字:0和1。在二进
制中,每一位上的数字称为一个比特(bit)。
2.2 八进制(Octal)
八进制使用0到7这8个数字来表示数值。在八进制中,每一位上的数字相当于三个二进制位。
2.3 十进制(Decimal)
十进制是我们日常生活中最常用的一种数字表示方式,它使用0到9这10个数字
来表示数值。
2.4 十六进制(Hexadecimal)
十六进制使用0到9这10个数字以及A到F这6个字母来表示数值。在十六进制中,每一位上的数字相当于四个二进制位。
3. 进制转换方法
3.1 二进制转换为八进制和十六进制
将二进制数转换为八进制和十六进制的方法非常简单。只需要将二进制数从右往左每三(对于八进制)或四(对于十六进制)个数字分组,并将每组转换为对应的八进制或十六进制数字即可。
示例1:将二进制数10101011转换为八进制和十六进制
•八进制:10101011 = (001)(010)(101) = 125
•十六进制:10101011 = (0010)(1011) = 2B
3.2 八进制转换为二进制和十六进制
将八进制数转换为二进制和十六进制的方法也很简单。只需要将每一位上的数字分别转换为对应的三个(对于二进制)或四个(对于十六禁止)二级禁止即可。
信息技术进制计算题和详细过程
信息技术进制计算题和详细过程
信息技术进制计算题和详细过程
一、介绍
信息技术中的进制计算是一项重要的基础知识,它涉及到计算机编程、数据存储和传输等方面。本文将从不同进制的概念入手,深入解释进
制转换和进制计算的过程,并且共享一些实际应用中的例子,以帮助
读者更好地理解和掌握这一知识点。
二、进制概念
1. 二进制
二进制是信息技术中最基本的进制,由 0 和 1 两个数字组成。在计算
机系统中,所有数据都以二进制形式存储和处理,因此对二进制的理
解至关重要。
2. 十进制
十进制是我们日常生活中使用的进制,由 0 到 9 十个数字组成。大多
数人对十进制比较熟悉,因为我们通常使用十进制进行计数和计算。
3. 八进制和十六进制
八进制由 0 到 7 八个数字组成,而十六进制由 0 到 9 和 A 到 F 共十
六个数字组成。在信息技术中,八进制和十六进制经常用于表示二进
制数,简化了大数字的表达和转换。
三、进制转换
1. 二进制到十进制的转换
对于一个二进制数,可以通过加权计算的方式将其转换为十进制数,
例如:1011(二进制)= 1*2³ + 0*2² + 1*2¹ + 1*2⁰ = 11(十进制)。
2. 十进制到二进制的转换
将一个十进制数转换为二进制,可以通过不断除以2 并取余数的方式,逆序得到二进制数,例如:13(十进制) = 1101(二进制)。
3. 八进制和十六进制的转换
类似地,八进制和十六进制数也可以相互转换,并且可以先将其转换
为二进制,再从二进制转换为另一种进制。
四、进制计算
1. 进制加法
在不同进制中进行加法计算时,需要注意进位的规则。例如:二进制
数字的进制和计算方法
数字的进制和计算方法
数字的进制是指数字系统中的基数,常见的进制包括十进制、二进制、八进制和十六进制等。每种进制都有其独特的计算方法和应用场景。本文将介绍各种进制的计算方法和相互转换的技巧。
一、十进制
十进制是我们日常生活中最常用的数字进制。它以0到9这10个
数字为基础,每个位置上的数字表示当前位置上的数量。例如,1223
的十进制表示为:
1*10^3 + 2*10^2 + 2*10^1 + 3*10^0 = 1000 + 200 + 20 + 3 = 1223
计算方法:将每个数字乘以10的幂,再将结果相加。
二、二进制
二进制是计算机系统中使用的主要进制,它只包含0和1两个数字。每个位置上的数字表示当前位置上的权重。例如,1011的二进制表示为:
1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 8 + 0 + 2 + 1 = 11
计算方法:将每个数字乘以2的幂,再将结果相加。
三、八进制
八进制是一种基数为8的数字进制。它使用0到7这8个数字。每
个位置上的数字表示当前位置上的数量。例如,127的八进制表示为:
1*8^2 + 2*8^1 + 7*8^0 = 64 + 16 + 7 = 87
计算方法:将每个数字乘以8的幂,再将结果相加。
四、十六进制
十六进制是一种基数为16的数字进制。它使用0到9这10个数字和A到F这6个字母。字母A到F分别表示十进制的10到15。每个位置上的数字或字母表示当前位置上的数量。例如,3A的十六进制表示为:
3*16^1 + A*16^0 = 48 + 10 = 58
16进制转10进制计算方法
16进制转10进制计算方法
16进制转10进制计算方法
概述
在计算机科学中,16进制(Hexadecimal)是一种常用的进制表
示方法。它使用了0-9的数字和A-F的字母表示数值,其中A代表10,B代表11,以此类推。当需要将16进制数转换为10进制数时,有几
种计算方法可以使用。
方法一:逐位计算法
1.将16进制数的每一位数值与其对应的权重相乘。
2.将每一位的结果相加,即可得到10进制数值。
例子:要将16进制数”3A”转换为10进制数。 - 首先,将3
与16的1次方相乘,得到48。 - 其次,将A(十六进制的10)与16
的0次方相乘,得到10。 - 最后,将48和10相加,得到58。因此,“3A”的十进制表示为58。
方法二:幂运算法
1.从16进制数的最后一位(个位)开始,遍历到第一位(最高
位)。
2.对每一位的数值进行幂运算,乘以对应的权重。
3.将所有结果相加,即可得到最终的10进制数值。
例子:要将16进制数”3A”转换为10进制数。 - 首先,对A (十六进制的10)进行幂运算,乘以16的0次方,得到10。 - 其次,对3进行幂运算,乘以16的1次方,得到48。 - 最后,将10和48
相加,得到58。因此,“3A”的十进制表示为58。
方法三:利用公式转换
对于一个n位的16进制数,可以使用以下公式将其转换为10进
制数:
十进制数值 = d<sub>n-1</sub> * 16<sup>n-1</sup> + d< sub>n-2</sub> * 16<sup>n-2</sup> + ... + d<sub>1</sub> * 16<sup>1</sup> + d<sub>0</sub> * 16<sup>0</sup>其中,dn-1到d0为16进制数的每一位数值,n为16进制数的位数。
进制计算方法
进制计算方法
进制是数学中非常重要的概念,它是指数的计数方式,常见的进制有二进制、八进制、十进制和十六进制。在计算机科学和信息技术领域中,进制的转换和计算是必不可少的基础知识。本文将介绍不同进制的计算方法,帮助读者更好地理解和掌握进制的转换和运算。
首先,我们来介绍二进制。二进制是计算机中最基本的进制,它由0和1两个数字组成。在二进制中,每一位的权值是2的幂次方,从右向左依次为2^0、2^1、2^2……例如,二进制数1011转换为十进制的计算方法是,12^3 + 02^2 + 12^1 + 12^0 = 11。在实际计算中,可以利用这个公式将二进制数转换为十进制数。
其次,我们来看八进制。八进制由0至7这八个数字组成,每一位的权值是8的幂次方,计算方法与二进制类似。例如,八进制数37转换为十进制的计算方法是,38^1 + 78^0 = 31。同样地,可以利用这个公式将八进制数转换为十进制数。
接着,我们介绍十六进制。十六进制由0至9和A至F这十六个数字组成,其中A表示10,B表示11,依次类推,F表示15。每
一位的权值是16的幂次方,计算方法与二进制和八进制类似。例如,十六进制数2A转换为十进制的计算方法是,216^1 + 1016^0 = 42。同样地,可以利用这个公式将十六进制数转换为十进制数。
最后,我们来讨论进制之间的转换。在实际应用中,经常需要
将不同进制的数相互转换。以二进制和八进制为例,将二进制数转
换为八进制数的方法是,先将二进制数每三位一组分割,不足三位
的在左边补0,然后按照八进制数的对应关系将每组二进制数转换
进制算术运算方法
二进制与其它进制的转换和运算,应该说是计算机类的考试,逢试必考,这里总结一下知识点。
二进制运算原理,大家都知道,不外乎,除2取余和乘2取整。这种费时、费力的方法,这里就不说了。考试讲究的时间,所以要找些简便的方法,必要时还是要记一下“二进制的变化形”,做到一看二进制数就知道其的十进制是多少,形成条件反射,就和我们打五笔一样,不需要再默诵字根了。
一、多种进制之间换算、比较和运算的顺序和原则
1、先比较整数部分,再比较小数部分;
2、“八进制”、“十六进制”,都转换成“二进制”进行比较大小;
3、再将其中最大数由“二进制”转换成“十进制”数与剩下的“十进制”数比较大小;
二、整数部分的二进制转换成十进制
每4位为一组,每组有不同权值,从左至右为,“212、28、24、20”或“4096、256、16、1”,“n”为每组二进制的十进制值。我这么说你可能些糊涂,看看下面的两个例子,就明白了。其简便之处,在于只需记住“15 - 0”的二进制是多少就可以了。
1111 1111 1111
1111
(4096×n) + (256×n) + (16×n) + (1×n)
(212×n) + (28×n) + (24×n) + (20×n)
如:十六进制数“5E”的十进制数是多少?答:94
0101 1110
5×16 + 14×1 = 94
如:二进制数“0101 1100 0110”的十进制数是多少?答:1478
0101 1100 0110
5×256 + 12×16 + 6×1 = 1478
三、小数部分的二进制转换成十进制,需要记忆小数位后六位的二进制数。
各种进制的转换(计算机基础呀)
二进制、八进制、十进制、十六进制之间转换
一、十进制与二进制之间的转换
(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;
各种进制之间的转换方法
各种进制之间的转换方法
首先,我们来讨论二进制和十进制之间的转换方法。二进制是计算机中最常用的进制,而十进制则是我们日常生活中最常见的进制。在二进制和十进制之间进行转换时,最简单的方法是将二进制数按权展开,然后相加即可得到其对应的十进制数。例如,二进制数1011可以按权展开为12^3 + 02^2 + 12^1 + 12^0,计算后得到对应的十进制数为11。
接下来是八进制和十进制之间的转换方法。八进制是以8为基数的进制,而十进制是以10为基数的进制。在八进制和十进制之间进行转换时,我们可以将八进制数按权展开,然后相加得到其对应的十进制数,或者将十进制数除以8并取余数得到其对应的八进制数。
然后是十六进制和十进制之间的转换方法。十六进制是以16为基数的进制,常用于表示颜色、内存地址等信息。在十六进制和十进制之间进行转换时,我们可以将十六进制数按权展开,然后相加得到其对应的十进制数,或者将十进制数除以16并取余数得到其对应的十六进制数。
除了以上介绍的进制之间的转换方法,我们还可以通过进制之
间的转换来进行加减乘除运算。例如,在二进制中进行加法运算时,我们可以按位相加,并注意进位的处理;在十六进制中进行乘法运
算时,我们可以将十六进制数转换为十进制数后进行乘法运算,再
将结果转换回十六进制数。
总之,掌握各种进制之间的转换方法对于理解计算机原理和进
行编程是非常重要的。通过本文的介绍,希望读者能够更好地理解
和运用各种进制之间的转换方法,从而提高自己在计算机科学和数
学领域的能力。
各种进制之间转换方法
各进制转换方法(转载) 一、计算机中数的表示:
首先,要搞清楚下面3个概念
•数码:表示数的符号
•基:数码的个数
•权:每一位所具有的值
请看例子:
1.二、八、十六进制转换成十进制
2.十进制转换成二、八、十六进制
3.二进制、八进制的互相转换
4.二进制、十六进制的互相转换
1、二、八、十六进制转换成十进制
方法:数码乘以相应权之和
2、十进制转换成二、八、十六进制
方法:连续除以基,直至商为0,从低到高记录余数
3、二进制、八进制的互相转换
方法:
•二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制•八进制转换成二进制:用3位二进制数代替每一位八进制数
例(1101001)2=(001,101,001)2=(151)8
4、二进制、十六进制的互相转换
方法:
•二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制
•十六进制转换成二进制:用4位二进制数代替每一位十六进制数
三、各种进制数的运算
方法:逢满进一
具体计算与平时十进制的计算类似,以十六进制为例:
加法:
各种进制转换为十进制的方法
各种进制转换为十进制的方法进制是指用多少个不同的数字来表示一组数的数制。常见的数制有二进制、八进制、十进制和十六进制等。在计算机科学中,进制转换是非常常见的操作,尤其是将其他进制的数转换为十进制的操作。在本文中,我将详细介绍各种进制转换为十进制的方法。
1.二进制转十进制:
二进制是最基础的进制,只有两个数字0和1。将一个二进制数转换为十进制数的方法非常简单。要将一个二进制数转换为十进制数,只需将二进制数的每一位乘上对应的权值,再将结果相加即可。权值从右到左依次为1、2、4、8、16、32、64、128......。例如,将二进制数1011转换为十进制数:
1 * 2^0 + 1 * 2^1 + 0 * 2^
2 + 1 * 2^
3 = 1 + 2 + 0 + 8 = 11
2.八进制转十进制:
八进制是一种基数为8的进制,使用8个数字0到7进行表示。将一个八进制数转换为十进制数的方法与二进制相似。要将一个八进制数转换为十进制数,只需将八进制数的每一位乘上对应的权值,再将结果相加即可。权值从右到左依次为1、8、64、512、4096......。例如,将八进制数75转换为十进制数:
5 * 8^0 + 7 * 8^1 = 5 + 5
6 = 61
3.十六进制转十进制:
十六进制是一种基数为16的进制,使用0到9的数字和字母A到F(或a到f)来表示。将一个十六进制数转换为十进制数的方法与二进制和八进制类似。要将一个十六进制数转换为十进制数,只需将十六进制数的每一位乘上对应的权值,再将结果相加即可。权值从右到左依次为1、16、256、4096、65536......。例如,将十六进制数3A7转换为十进制数:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……
所以,设有一个二进制数:0110 0100,转换为10进制为:
下面是竖式:
0110 0100 换算成十进制
第0位 0 * 20 = 0
第1位 0 * 21 = 0
第2位 1 * 22 = 4
第3位 0 * 23 = 0
第4位 0 * 24 = 0
第5位 1 * 25 = 32
第6位 1 * 26 = 64
第7位 0 * 27 = 0 +
---------------------------
100
用横式计算为:
0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100
0乘以多少都是0,所以我们也可以直接跳过值为0的位:
1 * 2
2 + 1 * 2
3 + 1 * 25 + 1 * 26 = 100
2.2 八进制数转换为十进制数
八进制就是逢8进1。
八进制数采用 0~7这八数来表达一个数。
八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方……
所以,设有一个八进制数:1507,转换为十进制为:
用竖式表示:
1507换算成十进制。
第0位 7 * 80 = 7
第1位 0 * 81 = 0
第2位 5 * 82 = 320
第3位 1 * 83 = 512 +
--------------------------
839
同样,我们也可以用横式直接计算:
7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839
结果是,八进制数 1507 转换成十进制数为 839
2AF5换算成10进制:
第0位: 5 * 160 = 5
第1位: F * 161 = 240
第2位: A * 162 = 2560
第3位: 2 * 163
= 8192 +
-------------------------------------
10997
直接计算就是:
5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997
(别忘了,在上面的计算中,A表示10,而F表示15)
现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。
假设有人问你,十进数 1234 为什么是一千二百三十四?你尽可以给他这么一个算式:
1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100
10进制数转换成二进制数,这是一个连续除2的过程:
把要转换的数,除以2,得到商和余数,
将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。听起来有些糊涂?我们结合例子来说明。比如要转换6为二进制数。
“把要转换的数,除以2,得到商和余数”。
那么:
要转换的数是6, 6 ÷ 2,得到商是3,余数是0。(不要告诉我你不会计算6÷3!)
“将商继续除以2,直到商为0……”
现在商是3,还不是0,所以继续除以2。
那就: 3 ÷ 2, 得到商是1,余数是1。
“将商继续除以2,直到商为0……”
现在商是1,还不是0,所以继续除以2。
那就: 1 ÷ 2, 得到商是0,余数是1(拿笔纸算一下,1÷2是不是商0余1!)
“将商继续除以2,直到商为0……最后将所有余数倒序排列”
好极!现在商已经是0。
我们三次计算依次得到余数分别是:0、1、1,将所有余数倒序排列,那就是:110了!
6转换成二进制,结果是110。
把上面的一段改成用表格来表示,则为:
(在计算机中,÷用 / 来表示)
如果是在考试时,我们要画这样表还是有点费时间,所更常见的换算过程是使用下图的连除:
(图:1)
请大家对照图,表,及文字说明,并且自已拿笔计算一遍如何将6转换为二进制数。
说了半天,我们的转换结果对吗?二进制数110是6吗?你已经学会如何将二进制数转换成10进制数了,所以请现在就计算一下110换成10进制是否就是6。
3.2 10进制数转换为8、16进制数
非常开心,10进制数转换成8进制的方法,和转换为2进制的方法类似,惟一变化:除数由2变成8。
来看一个例子,如何将十进制数120转换成八进制数。
用表格表示:
120转换为8进制,结果为:170。
非常非常开心,10进制数转换成16进制的方法,和转换为2进制的方法类似,惟一变化:除数由2变成16。
同样是120,转换成16进制则为:
120转换为16进制,结果为:78。
请拿笔纸,采用(图:1)的形式,演算上面两个表的过程。
4 二、十六进制数互相转换
二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,每个C,C++程序员都能做到看见二进制数,直接就能转换为十六进制数,反之亦然。
我们也一样,只要学完这一小节,就能做到。
首先我们来看一个二进制数:1111,它是多少呢?
你可能还要这样计算:1 * 20 + 1 * 21 + 1 * 22 + 1 * 23 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。