1、大学计算机基础大学计算机基础任小广任小广计算机学院计算机学院611611教研室教研室第第2 2章章 计算机基本信息表示计算机基本信息表示1ppt课件20162016年秋年秋上讲回顾p2.1 进制进制2.1.1 进制的概念进制的概念2.1.2 二进制、八进制和十六进制二进制、八进制和十六进制2.1.3 进制转换进制转换p2.2 二进制运算的物理实现二进制运算的物理实现p2.3 计算机数值表示计算机数值表示p2.4 字符编码字符编码2 2pptppt课件课件20162016年秋年秋主要内容p2.1 进制进制p2.2 二进制运算的物理实现二进制运算的物理实现p2.3 计算机数值表示计算机数值表示2.
2、3.1 计算机码制计算机码制2.3.2 定点数和浮点数定点数和浮点数p2.4 字符编码字符编码3 3pptppt课件课件20162016年秋年秋2.3.1 计算机码制p计算机可以表示计算机可以表示0和和1,就可以表示二进制数了,就可以表示二进制数了吗?吗?前讲回顾:前讲回顾:0/1直接对应于二进制直接对应于二进制数字数字 (5.25)10=(101.01)2但,数还包括但,数还包括正负符号正负符号和和小数点小数点p计算机码制:如何用计算机码制:如何用0/1编码处理编码处理正负正负符号符号和和小数点小数点有符号有符号整数整数的的0/1编码编码不同的码制有不同的特点不同的码制有不同的特点n 表示范
3、围,计算方便表示范围,计算方便4 4pptppt课件课件20162016年秋年秋原码p原码原码最直观最直观的二进制整数编码的二进制整数编码 共共n位位最高位对最高位对符号部分符号部分进行编码进行编码用用0表示表示“”,用,用1表示表示“”剩下的剩下的(n 1)位对位对数值部分数值部分进行编码进行编码编码与二进制数的数字部分相同编码与二进制数的数字部分相同如果数字部分不足如果数字部分不足(n 1)位,则高位补位,则高位补0,补足,补足至至(n 1)位位 5 5pptppt课件课件20162016年秋年秋原码p原码原码举例举例8位二进制编码位二进制编码 真值:真值:X = + 101 原码:原码:
4、 X 原原 = 00000101 若真值中数字个数若真值中数字个数(不含高位不含高位0)多于多于(n-1),则不,则不能用能用n位原码编码位原码编码如如 X=+10101010 数值数值0对应的对应的8位二进制原码是?位二进制原码是?+0:00000000 -0:10000000n n位原码的表示范围:位原码的表示范围:-(2-(2n-1n-1-1) -1) X (2(2n-1n-1-1) -1) .Y = 1010 Y 原原 = 100010106 6pptppt课件课件20162016年秋年秋原码p原码原码运算运算 A=+ 0001,B=+0110,求,求 A+B A=+ 1011,B=
5、-1110,求,求 A+B要对符号位和数值绝对值大小进行判断要对符号位和数值绝对值大小进行判断A B 0011 |B| |A|B|-|A| A=01011B=11110做减法做减法A+B原原=10011 1110-) 1011 0011.7 7pptppt课件课件20162016年秋年秋原码p原码原码特点特点优点优点简单直观,容易理解简单直观,容易理解缺点缺点零的形式不唯一零的形式不唯一做做加法加法和和减法减法运算较为复杂,要对符号位和数值的运算较为复杂,要对符号位和数值的绝对值大小进行判断绝对值大小进行判断需要设计新的码制!需要设计新的码制!8 8pptppt课件课件20162016年秋年秋
6、反码符号部分符号部分同原码,即数的最高位为符号位,用同原码,即数的最高位为符号位,用0表示正数,用表示正数,用1表示负数表示负数数数值值部分部分与它的符号位有关与它的符号位有关对于对于正数正数,反码与原码相同反码与原码相同对于对于负数负数,反码数值是,反码数值是将原码数值按位取反将原码数值按位取反 X = +1101 Y= -1101 X原原 = 01101 Y原原 = 11101 X反反 = 01101 Y反反 = 10010反码如何转换成原码?反码如何转换成原码?正数正数:相同相同;负数负数:数值数值按位取反按位取反 9 9pptppt课件课件20162016年秋年秋反码p反码的反码的性质
7、性质反码表示反码表示若若x = + x1x2 xn-1 ,则,则x反反= 0 x1x2 xn-1若若x = - x1x2 xn-1 , 则则x反反= 1x1x2 xn-1反码的表示范围反码的表示范围0有两种表示形式有两种表示形式 + 00 0 反反= 000 0 - 00 0 反反= 111 1表示范围:表示范围:-(2n-1-1) X (2n-1-1) 反码运算反码运算符号位可以参加运算,无需对符号位和绝对值进行符号位可以参加运算,无需对符号位和绝对值进行计算(计算(比原码简单比原码简单),但),但仍存在问题仍存在问题 与原码相同与原码相同1010pptppt课件课件20162016年秋年秋
8、反码运算 用反码进行运算时,两数反码的和等于两数和的用反码进行运算时,两数反码的和等于两数和的反码反码 符号位也参加运算,当符号位产生进位时,需要符号位也参加运算,当符号位产生进位时,需要循环进位循环进位,即,即把符号位的进位加到和的最低位上把符号位的进位加到和的最低位上去去 X Y 反反 X 反反 Y 反反 X Y 反反 X 反反 -Y反反11 11pptppt课件课件20162016年秋年秋反码运算p举例举例X=+1001, Y= - 1011, 求求X+YX+Y反反 X反反+ Y反反 01001+10100 11101故故 X+ Y = - 0010X=+1001, Y = - 0101
9、, 求求X+ YX+ Y反反 X反反+Y反反 01001+11010 00011 (有进位)(有进位) 1 (循环进位)(循环进位) 00100故故 X+ Y = + 0100反码反码未未在计算机中在计算机中实际使用,仅是一实际使用,仅是一种种过渡过渡码制码制1212pptppt课件课件20162016年秋年秋补码p补码的补码的表示表示符号部分符号部分同原码同原码数的最高位为符号位,数的最高位为符号位,0表示正数,表示正数,1表示负数表示负数数值部分数值部分与它的符号位有关与它的符号位有关对于正数,补码数值部分与原码数值部分相同对于正数,补码数值部分与原码数值部分相同对于负数,补码数值部分是对
10、于负数,补码数值部分是将原码数值部分按位取将原码数值部分按位取反反再加再加1 ,即,即在反码数值部分基础上加在反码数值部分基础上加1n加加1是整体加是整体加1,不是每一位都加,不是每一位都加11313pptppt课件课件20162016年秋年秋补码p补码补码举例举例给出下列数的原码、反码、补码(给出下列数的原码、反码、补码(8位)位)X = + 1101 X 原原 = 00001101 X 反反 = 00001101 X 补补 = 00001101 Y = 1110 Y 原原 = 10001110 Y 反反 = 11110001 Y 补补 = 111100101414pptppt课件课件201
11、62016年秋年秋补码表示范围表示范围0的表示?的表示?1000是谁的补码呢?是谁的补码呢?范围?范围?已知补码(已知补码(-2n-1除外除外),如何获得原码?),如何获得原码?对于正数,原码对于正数,原码数值部分数值部分与与补补码码数值部分数值部分相同相同对于负数对于负数,符号为,符号为1,数值部分,数值部分一种直观方法:减一种直观方法:减1再按位取反再按位取反另一种方法:按位取反另一种方法:按位取反再加再加1对于一个正数:对于一个正数:a=an-2an-3a1a0 ,(ai=0或或1)唯一表示:唯一表示:000000定义为:定义为:-2-2n-1n-1-2-2n-1n-1 X (2 X (
12、2n-1n-1-1)-1)即,再做一次补即,再做一次补为什么?为什么?1515pptppt课件课件20162016年秋年秋补码p补码补码运算运算补码表示法可以简化加法运算,并且可以将补码表示法可以简化加法运算,并且可以将减减法变成加法法变成加法采用补码进行加减法运算,在计算机中采用补码进行加减法运算,在计算机中只需要只需要一套实现加法运算的线路一套实现加法运算的线路,从而简化了计算机,从而简化了计算机内部硬件电路的结构内部硬件电路的结构补码加法运算中不区分数符和数字,即补码加法运算中不区分数符和数字,即符号位符号位也参与加法计算也参与加法计算 X Y补补 X 补补 Y 补补 X Y 补补 X
13、补补 -Y补补.1616pptppt课件课件20162016年秋年秋补码p补码运算补码运算举例举例(用(用5位二进制补码表示数)位二进制补码表示数) A=+1011, B= - 0010, 求求A-BA-B补补= A补补 + -B补补A补补=01011, -B补补=00010,A-B=+1101 01011 +) 00010 01101 A-B补补=01101 1717pptppt课件课件20162016年秋年秋补码p补码运算补码运算举例举例(用(用5位二进制补码表示数)位二进制补码表示数) A=+1011, B= - 1110, 求求A+BA+B补补= A补补 + B补补A补补=01011,
14、 B补补=10010,A+B=-11 01011 +) 10010 11101 A+B补补=11101 1818pptppt课件课件20162016年秋年秋补码p补码运算(用补码运算(用5位二进制补码表示数)位二进制补码表示数)不考虑符号位的不考虑符号位的进位进位问题问题 A=+1111, B= - 1101, 求求A+BA+B补补= A补补 + B补补A补补=01111, B补补=10011,A+B=+10 01111 +) 10011 1 00010 A+B补补=00010 .为何可以为何可以省略进位?省略进位?1919pptppt课件课件20162016年秋年秋补码p补码运算(用补码运算
15、(用5位二进制补码表示数)位二进制补码表示数)需要考虑符号位的需要考虑符号位的溢出溢出问题,即运算结果超出问题,即运算结果超出了机器能表示数的范围了机器能表示数的范围X1 = + 1101,X2 = + 1001Y1 = 1011,Y2 = 1100求求X1 + X2 , Y1 + Y2 X1 补补 + X2 补补 = 01101 + 01001 = 10110 Y1 补补 + Y2 补补 = 10101 + 10100 = 01001正溢出正溢出负溢出负溢出如何判断如何判断溢出?溢出?.2020pptppt课件课件20162016年秋年秋本讲核心知识点p码制码制p原码、反码、补码原码、反码、
16、补码p补码运算补码运算 X Y补补 X 补补 Y 补补 X Y 补补 X 补补 -Y补补符号位参与运算符号位参与运算忽略进位忽略进位注意溢出注意溢出2121pptppt课件课件20162016年秋年秋补码:提高探讨p补码的补码的深入理解(深入理解(1)已知补码(已知补码(-2n-1除外除外),如何获得原码?),如何获得原码?另一种方法:按位取反另一种方法:按位取反再加再加1对于一个正数:对于一个正数:a=an-2an-3a1a0 ,(ai=0或或1) -a原原数值部分数值部分= an-2an-3a1a0 -a补补数值部分数值部分= an-2an-3a1a0+1 -a原原数值部分数值部分+ -a
17、补补数值部分数值部分=2n-1 -a补补数数 = 2n-1 - -a原原数数 -a补补数数补补数数= 2n-1 -a补补数数原原数数= 2n-1 -a补补数数= 2n-1 (2n-1 - -a原原数数 ) = -a原原数数XX补补 补补=X=X原原 ? ?_ _ _ _2222pptppt课件课件20162016年秋年秋补码:提高探讨p补码的补码的深入理解(深入理解(2)为什么符号位可以参与运算,但忽略进位?为什么符号位可以参与运算,但忽略进位?符号位参与运算,将补码看做无符号形式值符号位参与运算,将补码看做无符号形式值 X补补 = X mod 2n因此,因此,A补补 + -B补补 = A mod 2n + (-B) mod 2n(若若A,B0)= A + (2n -B) 忽略进位,即对忽略进位,即对2n取模取模 (A + (2n -B) ) mod 2n= (A -B) mod 2n= A-B补补真值补码表示无符号形式值.2323pptppt课件课件20162016年秋年秋纸质作业p第二章课后习题第二章课后习题4、7、10、12这周四这周四(11.12)上课交上课交2424pptppt课件课件20162016年秋年秋谢谢!谢谢!2525pptppt课件课件
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。