计算机考试中各种进制转换的计算方法

合集下载

计算机考试中各种进制转换的计算方法

计算机考试中各种进制转换的计算方法

二进制数第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 = 1000乘以多少都是0,所以我们也可以直接跳过值为0的位:1 * 22 + 1 * 23 + 1 * 25 + 1 * 26 = 1002.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 转换成十进制数为 8392AF5换算成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进制,关键在于各自的权值不同。

进制之间的转换方法

进制之间的转换方法

进制之间的转换方法进制是计算机科学中非常重要的概念,它涉及到了数字的表示和计算。

在计算机中,常见的进制有二进制、八进制、十进制和十六进制。

不同进制之间的转换是我们在计算机编程和数据处理中经常需要用到的操作。

下面,我们将介绍几种常见的进制之间的转换方法。

首先,我们来看二进制和十进制之间的转换。

二进制是计算机中最基本的进制,它由0和1组成。

而十进制是我们平常生活中最常用的进制,由0到9的数字组成。

二进制到十进制的转换方法是将二进制数按权展开,然后相加得到十进制数。

例如,二进制数1011可以转换为十进制数的方法是,12^3 + 02^2 + 12^1 + 12^0 = 8 + 0 +2 + 1 = 11。

接下来,我们来看十进制到二进制的转换方法。

十进制到二进制的转换方法是通过不断除以2得到余数,然后将余数倒序排列得到二进制数。

例如,将十进制数13转换为二进制数的方法是,13÷2=6余1,6÷2=3余0,3÷2=1余1,1÷2=0余1,所以13的二进制表示为1101。

除了二进制和十进制之间的转换,我们还需要了解八进制和十六进制的转换方法。

八进制是由0到7的数字组成,而十六进制是由0到9和A到F的数字和字母组成。

八进制和十六进制到二进制的转换方法和十进制到二进制的转换方法类似,只是需要按照不同的进制规则进行计算。

总结一下,进制之间的转换方法是计算机科学中的基础知识,掌握了这些方法可以帮助我们更好地理解计算机的运行原理和进行数据处理。

通过本文介绍的方法,我们可以轻松地进行二进制、八进制、十进制和十六进制之间的转换,为我们的计算机编程和数据处理工作提供了便利。

希望本文的介绍对大家有所帮助,谢谢阅读!。

计算机等级考试中常见的计算题演练与解析

计算机等级考试中常见的计算题演练与解析

计算机等级考试中常见的计算题演练与解析为了帮助考生更好地备考计算机等级考试,本文将给出一些常见的计算题例子,并对其进行详细的演练与解析。

这些例子涵盖了计算机等级考试中常见的各个题型,旨在帮助考生加深对计算机基础知识的理解和掌握。

1. 二进制转十进制题目:将二进制数10101转换为十进制数。

解析:二进制数每一位的权值是2的幂次方,从右往左依次为2^0、2^1、2^2、2^3...以此类推。

所以,将二进制数转换为十进制数,只需将每一位的值乘以对应的权值,然后相加即可。

解答:(1 × 2^4) + (0 × 2^3) + (1 × 2^2) + (0 × 2^1) + (1 × 2^0) = 21答案:十进制数为21。

2. 十六进制转二进制题目:将十六进制数A7转换为二进制数。

解析:十六进制数中的每一位可以分别对应为四个二进制位。

可以使用一个对应表来转换,也可以将十六进制数中的每一位转化为四位的二进制数,然后合并即可。

解答:A转换为二进制为1010,7转换为二进制为0111,所以A7对应的二进制数为10100111。

答案:二进制数为10100111。

3. 十进制转八进制题目:将十进制数45转换为八进制数。

解析:十进制数转换为八进制数,可以利用除8取余法进行转化。

将十进制数不断除以8,直到商为0为止,将每次的余数倒序排列即可得到对应的八进制数。

解答:45 ÷ 8 = 5 余 5,5 ÷ 8 = 0 余 5,所以45的八进制数为55。

答案:八进制数为55。

4. 位运算题目:请计算 10 & 6,10 | 6 和 10 ^ 6 的结果。

解析:位运算是计算机中常用的运算方式,可以对二进制数的每一位进行操作。

其中,按位与(&)运算,两个位同时为1时结果为1,否则为0;按位或(|)运算,两个位只要有一个为1时结果为1,否则为0;按位异或(^)运算,两个位相同结果为0,不同结果为1。

计算机进制之间的转换

计算机进制之间的转换

计算机进制之间的转换进制是计算机中用于表示数值的一组符号系统,包括二进制、八进制、十进制和十六进制等。

在计算机科学中,进制转换是一种常见且重要的操作。

本文将详细介绍计算机进制之间的转换方法。

1. 二进制 (Binary) 转换为十进制 (Decimal):方法1:将二进制数从右往左按位展开,每一位的值与2的幂相乘,然后将得到的结果相加。

例如,二进制数1101转换为十进制,计算过程如下:(1*2^3)+(1*2^2)+(0*2^1)+(1*2^0)=13方法2:使用公式法。

将二进制数从高位到低位按权展开,并将每一位的值乘以相应权重,然后将结果相加。

例如,二进制数1101转换为十进制,计算过程如下:(1*2^3)+(1*2^2)+(0*2^1)+(1*2^0)=132. 十进制 (Decimal) 转换为二进制 (Binary):方法1:使用除二取余法。

将十进制数从右往左不断除以2,直到商为0。

最后,将得到的余数按照从下往上的顺序排列,即为二进制数。

例如,十进制数13转换为二进制,计算过程如下:13÷2=商6、余16÷2=商3、余03÷2=商1、余11÷2=商0、余1将得到的余数按从下往上的顺序排列,即为二进制数1101方法2:使用公式法。

将十进制数转换为相应的二进制幂的和。

例如,十进制数13转换为二进制,计算过程如下:13=(2^3)+(2^2)+(2^0)=11013. 十进制 (Decimal) 转换为八进制 (Octal):方法1:使用除八取余法。

将十进制数从右往左不断除以8,直到商为0。

最后,将得到的余数按从下往上的顺序排列,即为八进制数。

例如,十进制数86转换为八进制,计算过程如下:86÷8=商10、余610÷8=商1、余21÷8=商0、余1将得到的余数按从下往上的顺序排列,即为八进制数126方法2:使用公式法。

将十进制数转换为相应的八进制幂的和。

计算机的进制计算方法

计算机的进制计算方法

计算机的进制计算方法!(韬杰整理)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 01 ·十进制小数转二进制数:“乘以2取整,顺序排列”(乘2取整法)例: (0.625)10= (0.101)2 0.625X2=1.25 ……1 0.25X2=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 -> 6011 -> 3 111 -> 7 例:将八进制的37.416转换成二进制数: 3 7 . 41 6 011 111 .100 001 110 即:(37.416)8 =(11111.10000111)2 例:将二进制的10110.0011 转换成八进制:0 1 0 1 1 0 . 0 0 1 1 0 0 2 6 . 1 4 即:(10110.011)2 = (26.14)83.十六进制与二进制的转换:二进制数转换成十六进制数:从小数点开始,整数部分向左、小数部分向右,每4位为一组用一位十六进制数的数字表示,不足4位的要用“0”补足4位,就得到一个十六进制数。

各种进制之间的转换方法

各种进制之间的转换方法

各种进制之间的转换方法
首先,我们来讨论二进制和十进制之间的转换方法。

二进制是计算机中最常用的进制,而十进制则是我们日常生活中最常见的进制。

在二进制和十进制之间进行转换时,最简单的方法是将二进制数按权展开,然后相加即可得到其对应的十进制数。

例如,二进制数1011可以按权展开为12^3 + 02^2 + 12^1 + 12^0,计算后得到对应的十进制数为11。

接下来是八进制和十进制之间的转换方法。

八进制是以8为基数的进制,而十进制是以10为基数的进制。

在八进制和十进制之间进行转换时,我们可以将八进制数按权展开,然后相加得到其对应的十进制数,或者将十进制数除以8并取余数得到其对应的八进制数。

然后是十六进制和十进制之间的转换方法。

十六进制是以16为基数的进制,常用于表示颜色、内存地址等信息。

在十六进制和十进制之间进行转换时,我们可以将十六进制数按权展开,然后相加得到其对应的十进制数,或者将十进制数除以16并取余数得到其对应的十六进制数。

除了以上介绍的进制之间的转换方法,我们还可以通过进制之
间的转换来进行加减乘除运算。

例如,在二进制中进行加法运算时,我们可以按位相加,并注意进位的处理;在十六进制中进行乘法运
算时,我们可以将十六进制数转换为十进制数后进行乘法运算,再
将结果转换回十六进制数。

总之,掌握各种进制之间的转换方法对于理解计算机原理和进
行编程是非常重要的。

通过本文的介绍,希望读者能够更好地理解
和运用各种进制之间的转换方法,从而提高自己在计算机科学和数
学领域的能力。

各种进制之间转换方法

各种进制之间转换方法进制是计算机中数据表示的一种方式,常见的进制有二进制、八进制、十进制和十六进制。

在计算机科学中,经常需要进行不同进制之间的转换。

下面是各种进制之间转换的方法:1.二进制到十进制的转换:-将二进制数按权展开,然后求和。

例如,将二进制数1101转换为十进制数,按权展开后,得到:1*2^3+1*2^2+0*2^1+1*2^0=8+4+0+1=132.十进制到二进制的转换:-用除2取余法。

将十进制数不断除以2,直到商为0为止,然后将余数倒序排列。

例如,将十进制数13转换为二进制数,过程是:13/2=6余1,6/2=3余0,3/2=1余1,1/2=0余1,然后将余数倒序排列,得到二进制数11013.八进制到十进制的转换:-将八进制数按权展开,然后求和。

例如,将八进制数753转换为十进制数,按权展开后,得到:7*8^2+5*8^1+3*8^0=448+40+3=4914.十进制到八进制的转换:-用除8取余法。

将十进制数不断除以8,直到商为0为止,然后将余数倒序排列。

例如,将十进制数491转换为八进制数,过程是:491/8=61余3,61/8=7余5,7/8=0余7,然后将余数倒序排列,得到八进制数7535.十六进制到十进制的转换:-将十六进制数按权展开,然后求和。

十六进制的每一位对应的权值是16的幂。

例如,将十六进制数AE转换为十进制数,按权展开后,得到:10*16^1+14*16^0=160+14=1746.十进制到十六进制的转换:-用除以16取余法。

将十进制数不断除以16,直到商为0为止,然后将余数倒序排列。

十六进制中,余数10表示"A",余数11表示"B",依此类推,余数15表示"F"。

例如,将十进制数174转换为十六进制数,过程是:174/16=10余14,10/16=0余10,然后将余数倒序排列,得到十六进制数AE。

总结起来,各种进制之间的转换涉及到按权展开、除法和求余等运算。

数制转换及其计算方式

数制转换及其计算方式数制转换指的是将一个数从一种数制表示转换成另一种数制表示。

常见的数制包括十进制、二进制、八进制和十六进制。

在进行数制转换时,我们首先需要了解各种数制的计数规则和表示方式。

十进制是我们日常生活中最常使用的数制,它是一种基数为10的数制。

十进制中的每一位数字的权值分别为10的幂次方,从右向左依次为10^0、10^1、10^2、以此类推。

二进制是计算机系统中常用的数制,它是一种基数为2的数制。

二进制中的每一位数字的权值分别为2的幂次方,从右向左依次为2^0、2^1、2^2、以此类推。

八进制是一种基数为8的数制,它在计算机系统中使用较少。

八进制中的每一位数字的权值分别为8的幂次方,从右向左依次为8^0、8^1、8^2、以此类推。

十六进制是计算机系统中常用的数制之一,它是一种基数为16的数制。

十六进制中的每一位数字的权值分别为16的幂次方,从右向左依次为16^0、16^1、16^2、以此类推。

十六进制使用0-9和A-F表示数字10-15我们可以通过以下方法进行数制转换:1.二进制转换为十进制:首先将二进制数按权展开,然后将各位上的1与该位的权相乘,最后将所有乘积相加即可得到十进制数。

2.十进制转换为二进制:首先确定该十进制数在二进制中的最高位数,然后不断用该数除以2,记录余数,直到商为0为止,最后将所有余数倒序排列即得到二进制数。

3.八进制转换为十进制:八进制数的转换与二进制类似,只需要将权展开时使用的基数从2改为8即可。

4.十进制转换为八进制:十进制转八进制的方法与十进制转二进制类似,只需要将除法的除数从2改为8即可。

5.十六进制转换为十进制:十六进制数的各位数字和权相乘的方法与二进制和八进制相同,只需要将权展开时使用的基数从2或8改为16即可。

此外,十六进制数中的字母A-F分别表示10-15,需要进行对应替换。

6.十进制转换为十六进制:十进制转十六进制的方法与十进制转二进制类似,只需要将除法的除数从2改为16,同时将余数对应替换为字母A-F即可。

关于二进制、十进制、八进制、十六进制数据转换计算方法详细总结

在我们接触编程知识时,总会接触有关进制转换的知识,最常见的就是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,一直取到小数部分为零为止。

如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是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。

十进制转换成二进制的方法

十进制转换成二进制的方法十进制与二进制是计算机中常用的两种数制。

十进制(Decimal)是指以10为基数的数字系统,使用0-9个数码,常用于人类进行数学计算,而二进制(Binary)是指以2为基数的数字系统,只使用0和1两个数码,常用于计算机内部进行运算。

在计算机中,将十进制数转换为二进制数可以使用以下方法:方法一:除2取余法(递归法)1.将十进制数除以2,并记录余数,结果继续除以2得到新的商数,一直重复此步骤,直到商为0。

2.将记录的余数按照从下往上的顺序排列,得到的数字就是转换后的二进制数。

例如将十进制数十五(15)转换为二进制数:15÷2=商7余17÷2=商3余13÷2=商1余11÷2=商0余1余数从下往上排列得到的二进制数为:1111方法二:除2取余法(迭代法)1.将十进制数除以2,并记录余数,将商作为新的被除数。

2.重复步骤1,直到商为0。

将记录的余数按照从下往上的顺序排列,得到的数字就是转换后的二进制数。

例如将十进制数二十(20)转换为二进制数:20÷2=商10余010÷2=商5余05÷2=商2余12÷2=商1余01÷2=商0余1方法三:乘2取整法1.将十进制数乘以2,记录结果的整数部分作为二进制数的第一位。

2.将小数部分再次乘以2,将整数部分再次作为二进制数的下一位。

3.重复步骤2,直到小数部分等于0。

例如将十进制数十二点五(12.5)转换为二进制数:12.5×2=25.0,整数部分为25,二进制数的第一位为10.0×2=0.0,整数部分为0,二进制数的第二位为0小数部分为0,转换结束。

最终得到的二进制数为:1100.1以上是常用的将十进制数转换为二进制数的方法。

在计算机领域中,二进制数的应用广泛,它可以直接表示计算机内部的存储和运算方式,有助于更好地理解计算机的运算机制。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 = 1000乘以多少都是0,所以我们也可以直接跳过值为0的位:1 * 22 + 1 * 23 + 1 * 25 + 1 * 26 = 1002.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 转换成十进制数为 8392AF5换算成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 * 10010进制数转换成二进制数,这是一个连续除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。

然而,由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8、4、2、1。

即,最高位的权值为23= 8,然后依次是 22= 4,21=2, 20= 1。

记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。

下面列出四位二进制数 xxxx 所有可能的值(中间略过部分)仅4位的2进制数快速计算方法十进制值十六进值1111 = 8 + 4 + 2 + 1 = 15 F1110 = 8 + 4 + 2 + 0 = 14 E1101 = 8 + 4 + 0 + 1 = 13 D1100 = 8 + 4 + 0 + 0 = 12 C1011 = 8 + 4 + 0 + 1 = 11 B1010 = 8 + 0 + 2 + 0 = 10 A1001 = 8 + 0 + 0 + 1 = 10 9....0001 = 0 + 0 + 0 + 1 = 1 10000 = 0 + 0 + 0 + 0 = 0 0二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。

如(上行为二制数,下面为对应的十六进制):1111 1101 , 1010 0101 , 1001 1011F D , A 5 , 9 B反过来,当我们看到 FD时,如何迅速将它转换为二进制数呢?先转换F:看到F,我们需知道它是15(可能你还不熟悉A~F这五个数),然后15如何用8421凑呢?应该是8 + 4 + 2 + 1,所以四位全为1 :1111。

接着转换 D:看到D,知道它是13,13如何用8421凑呢?应该是:8 + 2 + 1,即:1011。

所以,FD转换为二进制数,为: 1111 1011由于十六进制转换成二进制相当直接,所以,我们需要将一个十进制数转换成2进制数时,也可以先转换成16进制,然后再转换成2进制。

比如,十进制数 1234转换成二制数,如果要一直除以2,直接得到2进制数,需要计算较多次数。

所以我们可以先除以16,得到16进制数:结果16进制为: 0x4D2然后我们可直接写出0x4D2的二进制形式: 0100 1011 0010。

其中对映关系为:0100 -- 41011 -- D0010 -- 2同样,如果一个二进制数很长,我们需要将它转换成10进制数时,除了前面学过的方法是,我们还可以先将这个二进制转换成16进制,然后再转换为10进制。

下面举例一个int类型的二进制数:01101101 11100101 10101111 00011011我们按四位一组转换为16进制: 6D E5 AF 1B5 原码、反码、补码结束了各种进制的转换,我们来谈谈另一个话题:原码、反码、补码。

我们已经知道计算机中,所有数据最终都是使用二进制数表达。

我们也已经学会如何将一个10进制数如何转换为二进制数。

不过,我们仍然没有学习一个负数如何用二进制表达。

比如,假设有一 int 类型的数,值为5,那么,我们知道它在计算机中表示为:00000000 00000000 00000000 000001015转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。

现在想知道,-5在计算机中如何表示?在计算机中,负数以其正值的补码形式表达。

什么叫补码呢?这得从原码,反码说起。

原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。

比如 00000000 00000000 00000000 00000101 是 5的原码。

反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。

取反操作指:原为1,得0;原为0,得1。

(1变0; 0变1)比如:将00000000 00000000 00000000 00000101每一位取反,得11111111 11111111 11111111 11111010。

称:11111111 11111111 11111111 11111010 是 00000000 00000000 00000000 00000101 的反码。

反码是相互的,所以也可称:11111111 11111111 11111111 11111010 和 00000000 00000000 00000000 00000101 互为反码。

补码:反码加1称为补码。

也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。

比如:00000000 00000000 00000000 00000101 的反码是:11111111 11111111 11111111 11111010。

那么,补码为:11111111 11111111 11111111 11111010 + 1 = 11111111 11111111 11111111 11111011所以,-5 在计算机中表达为:11111111 11111111 11111111 11111011。

转换为十六进制:0xFFFFFFFB。

再举一例,我们来看整数-1在计算机中如何表示。

假设这也是一个int类型,那么:1、先取1的原码:00000000 00000000 00000000 000000012、得反码: 11111111 11111111 11111111 111111103、得补码: 11111111 11111111 11111111 11111111可见,-1在计算机里用二进制表达就是全1。

16进制为:0xFFFFFF。

相关文档
最新文档