进制转换对学计算机的意义,浅析进制转换在计算机应用中的技巧.docx

2019年浅析进制转换在计算机应用中的技巧

1、二进制的使用意义  一种新处置器的盛行,离不开响应软件的支撑。开拓新的处置器能够会由于落空响应软件的支撑而影响其推行使用和市场前景;另一方面,得不到普遍使用和必然市场份额的处置器也很可贵到丰厚的软件支撑。这种处置器和支撑软件之间互相钳制的关系,既使得新处置器的设计不得不思索兼容老处置器,也障碍了新处置器的推出。在这种状况下,研讨若何把支撑老处置器的软件移植到新的处置器上,使新的处置器从降生之初就有丰厚的软件,不只对软件重用有严重意义,更可以坦荡处置器研发的思绪,促进新处置器的立异。  2、二进制在核算机使用中转换经常见的办法  普通有三种办法可以把老处置器上的代码移植到新处置器上:  (1)在新处置器上供应专门的运转形式来执行老代码,如英特尔的安腾(Itanium)处置器专门设计了执行x86代码的硬件。  (2)把源顺序从新编译到新的指令集。  (3)运用软件办法,分析或翻译使用顺序。  第一种办法,明显无法应用新处置器的一些进步前辈特征,落空了开拓新处置器的意义,而且添加了新处置器的硬件复杂度,甚至还会影响原有代码的执行效率;第二种办法可以到达很好的效率,但并不老是可行,由于有些顺序曾经没有源代码,有些顺序依靠于共享代码库,而这些共享代码以目的代码方式呈现,纷歧定能获得源码,有些源顺序言语没有编译到新指令集的编译器,此外操作系统的差别还能够使得只要修正源代码才干从新编译这些例程(比方与图形相关的代码)。  因而第三种办法,称之为二进制翻译(BinaryTranslation)应运而生。它是一种直接翻译可执行二进制顺序的技能,可以把一种处置器上的二进制顺序翻译到别的一种处置器上执行。它使得分歧处置器之间的二进制顺序可以很轻易地互相移植,扩展了硬件/软件的合用局限,有助于打破前面提到的处置器和支撑软件之间相互掣肘影响立异的场面。二进制翻译也是一种编译技能,它与传统编译的差异在于其编译处置对象分歧。传统编译处置的对象是某一种高级言语,经由编译处置生成某种机械的目的代码;二进制翻译处置的对象是某种机械的二进制代码,该二进制代码是经由传统编译生成的,经由二进制翻译处置后生成另一种机械的二进制代码。依照传统编译顺序前端、中端和后端的划分,我们可以了解为二进制翻译是拥有非凡前端的编译器。因而,更快且有用的进行进制转换就成为很主要的工作。  3、进制之间的互相转换技巧  3.1二进制转换为十进制  (1)二进制转换为十进制的传统办法—“按权睁开”法  由二进制数转换成十进制数的根本做法是,把二进制数起首写成加权系数睁开式,然后按十进制加律例则乞降。这种做法称为“按权睁开”法。  二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……  例如,设有一个二进制数转换为十进制数为:  下面是竖式: 算成十进制  B=(100)D  注:B透露表现二进制,O透露表现八进制,D透露表现十进制,H透露表现十六进制。  (2)二进制转换为十进制的技巧办法—“直接相加”算法。  依据进制转化的道理可知,二进制转化为十进制时,都与2的次方数有关,即从低位到高位顺次为1、2、4、8、16、32、64……,1的位数有用,0的位数无效,如许就可以依据二进制对应的位数直接算加法。  例:将上面的二进制数转换为10进制为:  后果直接算加法:64+32+4=100  即B=(100)D  3.2十进制转换为二进制  3.2.1十进制转换为二进制的传统办法—“除2取余”法  十进制数转换为二进制数时,因为整数和小数的转换办法分歧,所以先将十进制数的整数局部和小数局部辨别转换后,再加以兼并。十进制整数转换为二进制整数采用“除2取余,逆序陈列”法。详细做法是:用2去除十进制整数,可以获得一个商和余数;再用2去除商,又会获得一个商和余数,如斯进行,直到商为零时为止,然后把先获得的余数作为二进制数的低位有用位,后获得的余数作为二进制数的高位有用位,顺次陈列起来。十进制小数转换成二进制小数采用“乘2取整,挨次陈列”法。详细做法是:用2乘十进制小数,可以获得积,将积的整数局部掏出,再用2乘余下的小数局部,又获得一个积,再将积的整数局部掏出,如斯进行,直到积中的小数局部为零,或许到达所要求的精度为止。然后把掏出的整数局部按挨次陈列起来,先取的整数作为二进制小数的高位有用位,后取的整数作为低位有用位。  例:将十进制数302.25转换为二进制数  (1)整数局部:  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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值