新第2章微型计算机的数制与编码_第1页
新第2章微型计算机的数制与编码_第2页
新第2章微型计算机的数制与编码_第3页
新第2章微型计算机的数制与编码_第4页
新第2章微型计算机的数制与编码_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、 二、十进制数间的相互转换二、十进制数间的相互转换 数的补码表示及求补运算数的补码表示及求补运算 溢出判断溢出判断 数制的基本概念数制的基本概念 数字与字符的编码数字与字符的编码 学习数的不同表示方法学习数的不同表示方法 掌握不同进制数之间的相互转换掌握不同进制数之间的相互转换 掌握计算机中数的表示方法掌握计算机中数的表示方法补补码表示法码表示法 掌握数字与字符编码的方法掌握数字与字符编码的方法 2.1 数制及其转换数制及其转换一个数值,可以用不同进制的数表示。通常用数字后面跟一个英文字母来表示该数的数制。十进制数十进制数: D Decimal D可以省略不用.二进制数二进制数: B Bina

2、ry八进制数八进制数: Q Octal十六进制数十六进制数:H Hexadecimal.例:1001B = 09H=9D一般地,任意一个十进制数N都可以表示为:N=Kn-110n-1+Kn-2 10n-2+K1101+K0100 + K-110-1+K-210-2+K-m10-m =mniiiK1102.1.1 二、八、十、十六进制数二、八、十、十六进制数*基数:数制所使用的数码的个数基数:数制所使用的数码的个数*权:数制中每一位所具有的值权:数制中每一位所具有的值.1. 有十个不同的数字符号:有十个不同的数字符号:0, 1, 2, 9。2. 遵循遵循“逢十进一逢十进一”原则。原则。整数部分小

3、数部分 设基数用设基数用R表示,则对于二进制,表示,则对于二进制,R=2, Ki为为0或或1,逢二进一。逢二进一。 N= 对于八进制,对于八进制,R=8, Ki为为07中的任意一个,逢中的任意一个,逢八进一。八进一。 N= 对于十六进制,对于十六进制,R=16, Ki为为09、A、B、C、D、E、F共共16个数码中的任意一个,逢十六进一。个数码中的任意一个,逢十六进一。 N= mniiiK12 mniiiK18 mniiiK1161101.001B = 123+122 + 021 + 120+02-1+02-2 + 12-3 = 13.125 1875.16216316216103.2101

4、HA 十进制数、二进制数、十六进制数之间的十进制数、二进制数、十六进制数之间的关系如下表所示关系如下表所示十进制二进制十六进制012345678012345678000000010010001101000101011001111000十进制二进制十六进制91011121314159ABCDEF1001101010111100110111101111 2.1.2 数制间的转换数制间的转换二、八、十六进制数二、八、十六进制数 十进制数十进制数2. 十进制数十进制数 二、八、十六进制数二、八、十六进制数1) 整数转换整数转换方法:除方法:除2取余法。取余法。DN125余数余数312125622157

5、22231=K21=K31=K41=K51=K610221=K00=K10=K72. 小数转换小数转换 方法:方法:乘乘2取整法取整法例如:将十进制数例如:将十进制数0.81250.8125转换为二进制小数。转换为二进制小数。整个转换过程如下:整个转换过程如下: 0.8125 0.8125 2 2 1.625 1.625 整数部分为整数部分为1 1, K K-1-11 1 高位高位 0.6250.625 2 2 1.25 1.25 整数部分为整数部分为1 1, K K-2-21 1 0.25 0.25 2 2 0.50 0.50 整数部分为整数部分为0 0, K K-3-30 0 0.50 0

6、.50 2 2 1.0 1.0 整数部分为整数部分为1 1, K K-4-41 1 低位低位 所以转换结果为:所以转换结果为: (0.8125)10(0.1101)2 2.2 原码、反码和补码原码、反码和补码一、机器数和真值一、机器数和真值一个数连同其符号一起在机器中的表示形式。一个数连同其符号一起在机器中的表示形式。在数的表示式中引进符号位:在数的表示式中引进符号位:0表示正数,表示正数,1表示负数;使之成为计算机中可使用的带符表示负数;使之成为计算机中可使用的带符号数。号数。机器数的数值机器数的数值(不是形式上的真值不是形式上的真值)。机器数按。机器数按一定编码方式所代表的真实数值。通常用

7、一定编码方式所代表的真实数值。通常用/-前缀表示数的正负,用十进制表示数值的前缀表示数的正负,用十进制表示数值的大小。大小。二、带符号数的三种表示方法二、带符号数的三种表示方法1. 原码原码最高位为符号位0 正数1 负数+4原 = 0 000 0100B4原 = 1 000 0100B后面后面n-1 1位是其数值。位是其数值。原码的特点:原码的特点:(1) 数值部分即为该带符号数的二进制值。 (2) “0”有+0和 - 0之分,若字长为八位, 则:(+0)原0 0000000,(0)原1 0000000 8位二进制原码能表示的数值范围为: 0111111111111111,即+127127。

8、(2n-11)(2n-11)其中n为机器字长。 8位: 127127 16位: 32767327672. 原码与计算原码与计算当X为正数时X原和X一样,即X原 = X。当X为负数时 。由于X本身为负数,所以,实际上是将 X 数值部分绝对值前面的符号位上写成“1”即可。 原码表示法比较直观,它的数值部分就是该数的绝对值,而且与真值、十进制数的转换十分方便。但是它的加减法运算较复杂。当两数相加时,机器要首先判断两数的符号是否相同,如果相同则两数相加,若符号不同,则两数相减。在做减法前,还要判断两数绝对值的大小,然后用大数减去小数,最后再确定差的符号,换言之,用这样一种直接的形式进行加运算时,负数的

9、符号位不能与其数值部分一道参加运算,而必须利用单独的线路确定和的符号位。要实现这些操作,电路就很复杂,这显然是不经济实用的。为了减少设备,解决机器内负数的符号位参加运算的问题,总是将减法运算变成加法运算,也就引进了反码和补码这两种机器数。 2. 反码反码+5原 = +5反 = 0 000 0101B5原 = 1 000 0101B正数的反码与其原码相同。正数的反码与其原码相同。负数的反码除符号位外将原码求反。负数的反码除符号位外将原码求反。5反 = 1 111 1010B反码的定义反码的定义 字长为N位的定点数的反码表示法为:X X0或X为+0时(2n1)|X| X0或X为0时x反 =反码的特

10、点:反码的特点:(1) “0 0”有有+0+0和和-0-0之分。之分。 (2) 8 8位二进制反码所能表示的数值范围为位二进制反码所能表示的数值范围为+127+127127127, 一般地,对于一般地,对于n n位字长的计算机来说,其反码表示位字长的计算机来说,其反码表示 的数值范围为的数值范围为+2+2n-1n-11 12 2n-1n-1+1+1。 (3) 8 8位带符号数用反码表示时,若最高位为位带符号数用反码表示时,若最高位为“0 0”(正数)(正数) 则后面的则后面的7 7位即为数值;若最高位为位即为数值;若最高位为“1 1”(负数),(负数), 则后面则后面7 7位表示的不是此负数的

11、数值,必须把它们按位表示的不是此负数的数值,必须把它们按 位取反,才是该负数的二进制值。位取反,才是该负数的二进制值。 正码和反码表示的优点正码和反码表示的优点 原码表示的加减法运算比较复杂 一实际操作如+ -判断等判断,二结果的符号的判断,比补码麻烦多了 比如(-5)+7=7-5=2 3. 补码补码(1 1)模和同余的概念)模和同余的概念 : * 一个计量器的容量或一个计量单位,叫做模或模数,计作M(Mode)。例:时钟的模为:12一个n位二进制计数器的模为:2n * 如果两个整数a、b,用某一整数M去除,所得余数相同,则称a、b对模M是同余的,此时称a、b在以M为模时是相等的。记作: a=

12、b ( mod M ) 例:例:13=1 ( mod 12 )* * 由同余的概念可以得出若干性质: ) a+M=a (mod M) ) a+nM=a (mod M,n为整数) 当a为负数时,利用上式,负数就可化为正数了:补码是根据同余的概念引入的,我们来看一个减法通过加法来实现的例子。假定现在是北京时间6点整,有一只手表却是8点整,比北京时间快了2小时,校准的方法有两种,一种是倒拨2小时,一种是正拨10小时。若规定倒拨是做减法,正拨是做加法,那么对手表来讲减2与加10是等价的,也就是说减2可以用加10来实现。这是因为8加10等于18,然而手表最大只能指示12,当大于12时12自然丢失,18减

13、去12就只剩6了。这说明减法在一定条件下,是可以用加法来代替的。这里“12”称为“模”,10称为“-2”对模12的补数。推广到一般则有: A B = A + ( B + M ) = A + ( B )补 结论:在模为结论:在模为M的条件下,的条件下,A减去减去B,可以用,可以用A加上加上-B的补的补数来实现。数来实现。 例:a=-3 在以12为模时,则有: -3+12=-3 (mod 12)即:9=-3 (mod 12) 对此,我们称-3的补码为+9(mod 12) (2) (2) 补码的定义补码的定义 字长为N位的定点数的补码表示法为:当 x0时, x补 = x原 ,即为x本身加上符号位 0

14、 。 ( X补补 = 模模X的真值的真值) 说明由定义: 当 x0时, x补 = 2n |X| ,即需由减法求得 。 X X0 2n |X| X0 (mod 2n)x补 = (3) 负数的补码的求法:负数的补码的求法: 1 1) 由定义直接求:需要做减法运算。由定义直接求:需要做减法运算。例:X=-68=-1000100B 则 x补 = 28| x | =1000000001000100 =10111100 则 -0补 = 280 =10000000000000000 =100000000 = +0补 则 -127补 = 28127 =10000000001111111 =00000001例:

15、已知例:已知X=95,Y=-95, 8位二进制数位二进制数(mod= 28256 ),X补补0101 1111B5FH X原原 X反反正数的补码与其原码、反码相等正数的补码与其原码、反码相等 Y=-95=- 0101 1111B Y原原1101 1111B, Y反反 1010 0000B 由补码的定义可得:由补码的定义可得:Y补补 28+(- 0101 1111B)= 1010 0001B 10000 0000B 0101 1111B 1010 0001B 2 2) 利用反码来求:利用反码来求: a. 当-2n-1X0 时,可以证明: x补等于x原 除符号位外,其余各位求反,最低位加1。反之,

16、x原等于x补除符号位外,其余各位求反,最低位加1。 例:x= 68=1000100 x原 =11000100 x补=10111011+1=10111100反之,x补=10111100 则 x原=11000011+1=11000100X补补X原=11000100,对X的补码求补,结果对于其原码,即 X补补X原 4.补码加减法运算法则:补码加减法运算法则:X补 +Y补=X+Y补 (mod 2n). (1)分四种情况证明如下: X0,Y0 时,则时,则 X+Y0有 X补 +Y补= X+Y =X+Y补 (mod 2n) X 0,Y0 且且 X+Y0 时时则有:X补 +Y补=X+(2n+Y)=2n +(

17、X+Y) =X+Y=X+Y补 (mod 2n) X0,Y0 且且X+Y0时时则有:X补 +Y补=X+(2n+Y)=2n +(X+Y)=X+Y补 (mod 2n) X 0,Y0时,则有时,则有X+Y0 X补 +Y补=(2n+X)+(2n+Y)=2n+(X+Y) =X+Y补 (mod 2n) 有(1)式成立,证毕。结论:结论:在补码机内,无论两加数的真值是正或负,只要把它们表示成相应的补码形式,直接按二进制规则相加,其结果均为和的真值的补码。 同样可证明:X补 +-Y补=X-Y补 (mod 2n). (2)补码运算的特点:补码运算的特点:1). 真值补码的真值补码的 和和等于等于和和的补码。的补码

18、。2). 符号位当作符号位当作数值数值一样进行运算。一样进行运算。3).加减法运算都是用加减法运算都是用加法加法来实现。来实现。4).符号位相加产生的进位位符号位相加产生的进位位舍去舍去不要。不要。例例. 计算 y = 99 58 (用8位二进制表示)99 58 = 99 + ( 58)=41 y补 = 99 58补 = 99补 + 58补0110001199补+11000110 58补99补 = 0110 0011B 58补 = 1100 0110B y = y补 = 0010 1001B = 411 0010100141补自动丢失自动丢失5. 溢出的概念溢出的概念需要补充需要补充8位二进制

19、补码表示数的范围:128 +127n位二进制补码表示数的范围:2n1 +(2n1 1) 若运算结果超过了字长一定的机器所能表示数的范围,称为溢出。此时运算结果出错。类别二进制编码组合n=8n=16符号数值位n-116进制真值16进制真值正数00011111110 00017FH7EH01H+12712617FFFH7FFEH0001H327673276610000000H00000H0负数11111111 1110 00010000FFHFEH81H80H-1-2-127-128FFFFHFFFEH8001H8000H-1-2-32767-32768例1. 0000111101110000+0

20、1111111+15+112+12700CS+1CS例2. 0111111000000101+10000011+126+512501CS+1CS0111111100000101+10000100+127+5124例3. CS 1,CS1 0,结果溢出!结果溢出!结果出错。结果出错。1000010011111011+01111111+1275124例4. CS 0,CS1 1,结果溢出!结果溢出!1因为CS = CS1, 则结果正确。CS CS1, 则结果溢出。所以 溢出溢出 = CS CS1结果出错。结果出错。定点数和浮点数 定点数定点整数: 小数点约定在最低位的右边。定点小数: 小数点约定在

21、符号位之后。 浮点数: N 2PS以32位(4字节)数为例:阶符、阶码8位(1个字节)数符、尾数24位(3个字节)范围: 阶符阶码数符尾数SP+27(2 -1)-27(2 -1)(1-2 )-23(1-2 )-23数据校验码奇偶校验码 奇校验:代码位中1的个数为奇数个 偶校验:代码位中1的个数为偶数个n个代码位1位校验位 若干信息位例如:01100011 偶校验 11100011 奇校验n-1 n-2 0 奇校验:应使代码里连同校验位共有奇数个应使代码里连同校验位共有奇数个1 1。补奇补奇:当数值部分中1的个数为偶数时,可通过置校验位为“1”,使整个代码“1”的个数为奇数。例如:7位信息代码1100011中,有偶数个“1”,为满足奇校验,校验位取“1”,即11100011。 偶校验:应使代码里连同校验位共有偶数个偶校验:应使代码里连同校验位共有偶数个1 1。补偶补偶:当数值部分中1的个数

温馨提示

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

评论

0/150

提交评论