二进制代码
二进制代码2011年06月22日星期三18:39二进制代码,就
是用0和1表示,满2进1的代码语言。一种可以将两种架构的本地代码存放在同一个包装的格式
它由两个基本字符0,1组成,二进制代码运算规律是逢二进一。十进制1,二进制也是1;十进制2(1+1),二进制为10;十进制3(1+1+1),二进制为11;十
进制4,二进制为100…也就
二进制代码是说,用二进制做十进制的加法时是逢二进一!2、表述:为区别于其它进制代码,二进制代码的书写通常在数的右下方注上基数2,或加后面
加B表示。
直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义,例如某
台计算机字长为16位,即有16个二进制数组成一条指令或其它信息。16个0
和1可组成各种排列组合,通过线路变成电信号,让计算机执行各种不同的操作。
二进制代码语言或称为机器语言,计算机可以直接识别,不需要进行任何
翻译。每台机器的指令,其格式和代码所代表的含义都是硬性规定的,故称之
为面向机器的语言,也称为机器语言。它是第一代的计算机语言。机器语言对
不同型号的计算机来说一般是不同的。
缺点1.大量繁杂琐碎的细节牵制着程序员,使他们不可能有更多的时间和
精力去从事创造性的劳动,执行对他们来说更为重要的任务。如确保程序的正
确性、高效性。
2.程序员既要驾驭程序设计的全局又要深入每一个局部直到实现的细节,
即使智力超的程序员也常常会顾此失彼,屡出差错,因而所编出的程序可靠
性差,且开发周期长。
3.由于用二进制代码语言进行程序设计的思维和表达方式与人们的习惯大相径庭,只有经过较长时间职业训练的程序员才能胜任,使得程序设计曲高和寡。
4.因为它的书面形式全是"密"码,所以可读性差,不便于交流与合作。
5.因为它严重地依赖于具体的计算机,所以可移植性差,重用性差。
这些弊端造成当时的计算机应用未能迅速得到推广。
二进制代码背景在早期设计的机械计算装置中,使用的不是二进制,而是十进制或者其他进制,利用齿轮的不同位置表示不同的数值,这种计算装置可能更加接近人类的思想方式。比如说一个计算设备有十个齿轮,它们级连起来,每一个齿轮有十格,小齿轮转一圈大齿轮走一格。这就是一个简
二进制代码单的十位十进制的数据表示设备了,可以表示0到999999999的数字。配合其他的一些机械设备,这样一个简单的基于齿轮的装置就可以实现简单的十进制加减法了。这种通过不同的位置上面不同的符号表示数值的方法就是进制表示方法。常用的进制主要是十进制(因为我们有十个手指,所以十进制是比较合理的选择,用手指可以表示十个数字,0的概念直到很久以后才出现,所以是1-10而不是0-9)。电子计算机出现以后,使用电子管来表示十种状态过于复杂,所以所有的电子计算机中只有两种基本的状态,开和关。也就是说,电子管的两种状态决定了以电子管为基础的电子计算机采用二
进制来表示数字和数据。常用的进制还有8进制和16进制,在电脑科学中,经常会用到16进制,而十进制的使用非常少,这是因为16进制和二进制有天然的联系:4个二进制位可以表示从0到15的数字,这刚好是1个16进制位可以表示的数据,也就是说,将二进制转换成16进制只要每4位进行转换就可以了。二进制的"00101000"直接可以转换成16进制的"38"。一个字是电脑中的基本存储单元,根据计算机字长的不同,字具有不同的位数,现代电脑的字长一般是32位的,也就是说,一个字的位数是32。字节是8位的数据单元,一个字节可以表示0-255的数据。对于32位字长的现代电脑,一个字等于4个字节,对于早期的16位的电脑,一个字等于2个字节。
二进制转换又称二进制转换一种新处理器的流行,离不开相应软件的支持。开发新的处理器可能会因为失去相应软件的支持而影响其推广应用和市场前景;另一方面,得不到广泛应用和一定市场份额的处理器也很难得到丰富的软件支持。这种处理器和支持软件之间相互钳制的关系,既使得新处理器的设计不得
不考虑兼容老处理器,也阻碍了新处理器的推出。在这种情况下,研究如何把
支持老处理器的软件移植到新的处理器上,使新的处理器从诞生之初就有丰富
的软件,不仅对软件重用有重大意义,更可以开阔处理器研发的思路,促进新
处理器的创新。
移植方法一般有三种方法可以把老处理器上的代码移植到新处理器上:
二进制编码转换二进制代码1.在新处理器上提供专门的运行模式来执行老代码,如英特尔
的安腾(Itanium)处理器专门设计了执行x86代码的硬件。
2.把源程序重新编译到新的指令集。
3.使用软件方法,解释或翻译应用程序。
第一种方法,显然无法利用新处理器的一些先进特性,失去了开发新处理
器的意义,并且增加了新处理器的硬件复杂度,甚至还会影响原有代码的执行
效率;第二种方法可以达到很好的效率,但并不总是可行,因为有些程序已经没有源代码,有些程序依赖于共享代码库,而这些共享代码以目标代码形式出现,不一定能得到源码,有些源程序语言没有编译到新指令集的编译器,此外操作
系统的差异还可能使得只有修改源代码才能重新编译这些例程(比如与图形相关的代码)。
因此第三种方法,称之为二进制翻译(BinaryTranslation)应运而生。它是一种直接翻译可执行二进制程
序的技术,能够把一种处理器上的二进制程序翻
译到另外一种处理器上执行。它使得不同处理器之间的二进制程序可以很容易
地相互移植,扩大了硬件/软件的适用范围,有助于打破前面提到的处理器和支持软件之间互相掣肘影响创新的局面。
二进制翻译也是一种编译技术,它与传统编译的差别在于其编译处理对象
不同。传统编译处理的对象是某一种高级语言,经过编译处理生成某种机器的
目标代码;二进制翻译处理的对象是某种机器的二进制代码,该二进制代码是经过传统编译生成的,经过二进制翻译处理后生成另一种机器的二进制代码。按
照传统编译程序前端、中端和后端的划分,我们可以理解为二进制翻译是拥有
特殊前端的编译器。
数制说明数制是人们利用符号进行计数的科学方法。数制有很多种,在计
算机中常用的
二进制代码数制有:十进制,二进制和十六进制。1.十进制数人们通常使用的是十进制。它的特点有两个:有0,1,2….9十个基本字符组成,十进制数运
算是按"逢十进一"的规则进行的.
在计算机中,除了十进制数外,经常使用的数制还有二进制数和十六进制数.在运算中它们分别遵循的是逢二进一和逢十六进一的法则.2.二进制数二进制数有两个特点:它由两个基本字符0,1组成,二进制数运算规律是逢二进一。
为区别于其它进制数,二进制数的书写通常在数的右下方注上基数2,或
加后面加B表示。
例如:二进制数10110011可以写成(10110011)2,或写成10110011B,对于十
进制数可以不加注.计算机中的数据均采用二进制数表示,这是因为二进制数具
有以下特点:
1)二进制数中只有两个字符0和1,表示具有两个不同稳定状态的元器件。例如,电路中有,无电流,有电流用1表示,无电流用0表示。类似的还比如
电路中电压的高,低,晶体管的导通和截止等。
2)二进制数运算简单,大大简化了计算中运算部件的结构。
二进制数的加法和乘法运算如下:
0+0=00+1=1+0=11+1=100×0=00×1=1×0=01×1=1
由于二进制数在使用中位数太长,不容易记忆,所以又提出了十六进制数.3.十六进制数十六进制数有两个基本特点:它由十六个字符0~9以及A,B,C,D,E,F组成(它们分别表示十进制数0~15),十六进制数运算规律是逢十六进一。
例如:十六进制数4AC8可写成(4AC8)16,或写成4AC8H。
4.数的位权概念
5.一个十进制数110,其中百位上的1表示1个10^2,既100,十位的1
表示1个10^1,即10,个位的0表示0个10^0,即0。
一个二进制数110,其中高位的1表示1个2^2,即4,低位的1表示1个
2^1,即2,最低位的0表示0个2^0,即0。
一个十六进制数110,其中高位的1表示1个16^2,即256,低位的1表
示1个16^1,即16,最低位的0表示0个16^0,即0。
可见,在数制中,各位数字所表示值的大小不仅与该数字本身的大小有关,还与该数字所在的位置有关,我们称这关系为数的位权。
十进制数的位权是以10为底的幂,二进制数的位权是以2为底的幂,十六进制数的位权是以16为底的幂。数位由高向低,以降幂的方式排列。
进数制间转换
1.二进制数、十六进制数转换为十进制数(按权求和)二进制数、十六进制
数转换为十进制数的规律是相同的。把二进制数(或十六进制数)按位权形式展
开多项式和的形式,求其最后的和,就是其对应的十进制数--简称"按权求和".
例如:把(1001.01)2转换为十进制数。
解:(1001.01)2
=1×23+0×22+0×21+1×20+0×2-1+1×2-2
=8+0+0+1+0.5+0.25
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论