原码、反码与补码知识讲解.doc_第1页
原码、反码与补码知识讲解.doc_第2页
原码、反码与补码知识讲解.doc_第3页
原码、反码与补码知识讲解.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2.2 原码、反码与补码在计算机内的数(称之为“机器数”)值有3种表示法:原码、反码和补码。所谓原码就是带正、负号的二进制数,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。由此可见,这三种表示法中,关键是负数的表示方式不一样。2.2.1 正负数表示、定点数与浮点数在计算机内,通常把1个二进制数的最高位定义为符号位,用“0”表示正数,“1”表示负数;其余位表示数值。 规定小数点位置固定不变的数称为“定点数”;小数点的位置不固定,可以浮动的数称为“浮点数”。 2.2.2 原码原码表示法是定点数的一种简单的表示法。用原码表示带符号二进制数时,符号位用0表示正,1表示负;数值位保持不变。原码表示法又称为符号-数值表示法。1. 小数原码表示法设有一数为x,则原码表示可记作x原(下标表示)。例如,X1= 1010110 ;X2= -1001010 原码表示数的范围与二进制位数有关。设二进制小数X=0.X1X2Xm,则小数原码的定义如下:例如:X=+0.1011时, 根据以上公式可得X原=0.1011;X=0.1011时,根据以上公式可得X原= 1-(-0.1011)=1.1011=1.1011当用8位二进制来表示小数原码时,其表示范围为:最大值为0.1111111,其真值约为(0.99)10 ;最小值为1.1111111,其真值约为(-0.99)10。根据定义,小数“0”的原码可以表示成0.00或1.00。 2. 整数原码表示法 整数原码的定义如下: 例如:X=+1101时,根据以上公式可得X原=01101;X=1101时,根据以上公式可得X原=24-(-1101)=10000+1101=11101当用8位二进制来表示整数原码时,其表示范围为:最大值为01111111,其真值为(127)10 ;最小值为11111111,其真值为(-127)10 。同样,整数“0”的原码也有两种形式,即000和100。 2.2.3 反码用反码表示带符号的二进制数时,符号位与原码相同,即用0表示正,用1表示负;数值位与符号位相关,正数反码的数值位和真值的数值位相同;而负数反码的数值位是真值的数值位按位变反。1. 小数反码表示法设二进制小数X=0.x1x2xm,则其反码定义为: 例如,X=+0.1011时,根据以上公式可得X反=0.1011;当X=-0.1011时,根据以上公式可得X反=2-2-4+X=10.0000-0.0001-0.1011=1.0100。根据定义,小数“0”的反码有两种表示形式,即0.00和1.11。2. 整数反码表示法设二进制整数X=Xn-1Xn-2X0,则其反码定义为: 例如,X=+1001时,根据以上公式可得X反 = 01001;当X=-1001时,根据以上公式可得X反 = (25-1)+X= (100000-1)+(-1001)= 11111-1001=10110同样,整数“0”的反码也有两种形式,即000和111。 采用反码进行加、减运算时,无论进行两数相加还是两数相减,均可通过加法实现。加、减运算规则如下:X1+X2反 =X1反 + X2反X1-X2反 =X1反 +-X2反 运算时符号位和数值位一样参加运算。当符号位有进位时,应将进位加到运算结果的最低位,才能得到最后结果。2.2.4 补码用补码表示带符号的二进制数时,符号位与原码、反码相同,即用0表示正,用1表示负;数值位与符号位相关,正数补码的数值位与原码、反码相同。而负数补码的数值位是真值的数值位按位变反,并在最低位加1。1. 小数补码的定义设二进制小数X=0.X-1X-2X-m,则其补码定义为: 例如,X= + 0.1011时,根据以上公式可得X补= 0.1011;X = - 0.1011时, 根据以上公式可得X补 = 2 + X = 10.0000 - 0.1011 = 1.0101小数“0”的补码只有一种表示形式,即0.00。 2. 整数补码表示法设二进制整数X=Xn-1Xn-2X0,则其补码定义为: 例如,X = +1010时,根据以上公式可得X补 = 01010;X = -1010时,根据以上公式可得X补 = 25+ X = 100000-1010 = 10110。同样,整数“0”的补码也只有一种表示形式,即000。采用补码进行加、减运算时,可以将加、减运算均通过加法实现,运算规则如下:X1 + X2补 =X1补 +X2补X1 - X2补 =X1补 +-X2补运算时,符号位和数值位一样参加运算,若符号位有进位产生,则应将进位丢掉后才得到正确结果。例如,若X1 = -1001,X2 = +0011,则采用补码求X1-X2的运算如下:X1-X2补=X1补+-X2补= 10111+11101。即:X1-X2补= 10100 。因符号位为1,表示是负数,故X1-X2 = -1100 2.2.5 模“模”是指一个计量系统的计数范围。如时钟中的一个小时就是60分钟,这个60分钟就是“模”。计算机也可以看成一个计量机器,它也有一个计量范围,即都存在一个“模”。表示n位的计算机计量范围是02n-1,模=2n。即n位二进制所能表示的无符号整数的范围:0x2n-1;n位二进制所能表示的有符号整数的范围:-2n-1+1x2n-1-1;n位二进制补码所能表示的数值范围为:2n-1X2n-11。“模”实质上是计量器产生“溢出”的量,它的值在计量器上表示不出来,计量器上只能表示出模的余数。任何有模的计量器,均可化减法为加法运算。 对于计算机,模也就是相应位数寄存器所能表示的最大数再加1。如8位寄存器所能存储的数是11111111=255,这样8位寄存器的模就等于255+1=256。 2.2.6 BCD码、阶码与移码 1. BCD码 BCD编码将一个字节的8个位拆分成高4位和低4位两个部分,也就是说一个字节能存储两个数字。所以BCD的编码过程就是将数字压缩的过程,将两个字节的数字压缩成一个字节。反之,解码就是把一个字节的数字拆分为两个数字单独存放(大部分的处理都是按字节处理的)。 2. 阶码 对于任意一个二进制数n,可用N=S x 2P表示,其中S为尾数,P为阶码,2为阶码的底,P、S都用二进制数表示,S表示N的全部有效数字,P指明小数点的位置。 3. 移码 浮点数的阶码表示指数大小,有正有负,为避开阶码的符号,对每个阶码都加上一个正的常数(称偏移常数),使能表示的所有阶码都为正整数,变成“偏移”了的阶码,又称“增码”。 2.3 二进制的运算2.3.1 二进制的四则运算二进制数与十进制一样,同样可以进行加、减、乘、除四则运算。其算法规则如下:加运算:0+0=0,0+1=1,1+0=1,1+1=10减运算:1-1=0,1-0=1,0-0=1,0-1=1 乘运算:0*0=0,0*1=0,1*0=0,1*1=1 除运算:二进制只有两个数(0,1)具体的四则运算方法参见书本。 2.3.2 补码运算补码的加法运算规则是:XY补= X 补Y补该式表明,当有符号的两个数采用补码形式表示时,进行加法运算可以把符号位和数值位一起进行运算(若符号位有进位,则丢掉),结果为两数之和的补码形式。例如用补码进行下列运算:(33)(15);(33)(15),最终的结果分别是+48补和+18 补。 补码的减法运算规则是:XY补=X补Y补该式表明,求XY补可以用X补与 Y补相加来实现。Y补是对减数进行求负操作。一般称已知 Y补求得 Y补的过程叫变补或求负。已知+Y补求-Y补的规则是全部位(含符号位)按位取反后再加1。具体的补码计算步骤参见书中介绍。 2.3.3 二进制的逻辑运算 二进制的逻辑运算有“与”、“或”、“非”和“异或”四种。1. “与”运算(AND)“与”运算又称逻辑乘,用符号“.”或“”来表示。运算规则如下:00 = 0 01 = 0 10 = 0 11 = 1即当两个参与运算的数的对应码位中有一个数为0,则运算结果为0,只有两码位对应的数都为1结果才为1。这与前面介绍的二进制乘法运算是一样的。 2. “或”运算(OR) “或”运算又称逻辑加,用符号“+”或“”表示。运算规则如下:00 = 0 01 = 1 10 = 1 11 = 1 即当两个参与运算数的相应码位只要有一个数为1,则运算结果为1,只有两码位对应的数均为0,结果才为0。如“10111101”进行“非”运算后就得到“01000010”,对比相应位即可验证以上运算规则了。3. “非”运算(NOT) “非”运算实现逻辑否定,即进行求反运算,非运算规则:0 = 1,1 = 0。注意“非”运算只是针对一个数所进行的“运算”,这与前面的“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论