计算机中的数制和编码.ppt_第1页
计算机中的数制和编码.ppt_第2页
计算机中的数制和编码.ppt_第3页
计算机中的数制和编码.ppt_第4页
计算机中的数制和编码.ppt_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

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

文档简介

第2章 计算机中的数制和编码,主要内容,计算机中的常用计数制、编码及其相互间的转换; 二进制数的算术运算和逻辑运算; 符号数的表示及补码运算; 二进制数运算中的溢出问题; 基本逻辑门及译码器; 定点数与浮点数的表示方法。,第2章 计算机中的数制与编码,主要内容: 2.1 计算机中的数制 2.2 无符号数二进数制数的运算 2.3 符号数的表示及运算 2.4 定点数与浮点数 2.5 计算机中的编码,第一节 计算机中的数制,主要内容: 2.1.1 常用计数制 2.1.2 各数制间的转换,2.1 计算机中的数制,2.1 计算机中的数制,了解:各种计数制的特点及表示方法; 掌握:各种计数制之间的相互转换。,2.1.1常用计数制,十进制(Decimal) 符合人们的习惯 二进制(Binary) 便于物理实现 十六进制(Hex) 便于识别、书写 八进制(Octal),1.十进制,特点:以10为底,逢十进一; 共有0-9十个数字符号。 表示:权表达式,n:整数位数 m:小数位数,2.二进制,特点:以2为底,逢2进位; 只有0和1两个符号。(数后面加B) 表示:权表达式,n:整数位数 m:小数位数,3.十六进制,特点:以16为底,逢16进位(数后面加H) 有0-9及A-F共16个数字符号, 表示:权表达式,n:整数位数 m:小数位数,4.任意K进制数的表示,一般地,对任意一个K进制数S都可表示为,其中: Si - S的第i位数码,可以是K个符号中任何一个 n,m 整数和小数的位数; K - 基数; Ki - K进制数的权,5.如何区分不同进位记数制的数字,在数字后面加一个字母进行区分: 二进制:数字后面加B, 如1001B 八进制:数字后面加O, 如1001O 十进制:一般不加, 如1001 十六进制:数字后面加H , 如1001H 在明显可以区分其记数制的情况下,可以省略数字后面的字母,十进制(D) 二进制(B) 八进制(O,Q) 十六进制(H),0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 8 9 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F,5.如何区分不同进位记数制的数字,例,234.98 或 (234.98)10 1101.11B 或 (1101.11)2 ABCD . BFH 或 (ABCD . BF)16,2.1.2各数制间的转换,1.非十进制数到十进制数的转换: 按相应的权表达式展开,再按十进制求和。 例:24.AH=2161+4160+A16-1 =36.625 注:AF分别用1015代入 例:10110010B = (?)10 13FAH = (?)10,2.十进制到非十进制数的转换,十进制 二进制: 整数部分:除2取余;小数部分:乘2取整 十进制 十六进制: 整数部分:除16取余;小数部分:乘16取整 以小数点为起点求得整数和小数的每一位。 注:十进制转换成任意K进制数与上类似, 整数:除K取余,小数:乘K取整。,十进制到二进制转换例,255 = ( ? )B,255 = (11111111)B,(30)10=( 11110 )2,2| 3 0 0 低位 2| 1 5 1 2| 7 1 2| 3 1 2| 1 1 高位 0,(266)10 = ( 10 A )16,266/16 = 16 A 低位 16/16 = 1 0 1/16 = 0 1 高位,18,(0.8125)10 = ( 0.1101 )2,0.8125 2 1.6250 1 高位 0.6250 2 1.2500 1 0.2500 2 0.5000 0 0.5000 2 1.0000 1 低位,19,(49.58)10 = ( ? )2,110001.,整数除以2倒取余数 小数乘以2正取整数,100,十进制到十六进制转换例,400.25 = ( ? )H 400/16=25 -余数=0(个位) 25/16=1 -余数=9(十位) 1/16=0 -余数=1(百位) 0.2516=4.0 -整数=4(1/10) 即:400.25 = 190.4H,3.二进制与十六进制间的转换,用4位二进制数表示1位十六进制数 例: 10110001001.110 = (?)H 0101 1000 1001.1100 5 8 9 . C 注意:位数不够时要补0,24=16,用4位二进制数表示1位十六进制数 0000 - 0H 1001 - 9H 1010 - AH 1011 - BH 1100 - CH 1101 - DH 1110 - EH 1111 - FH,3.二进制与十六进制间的转换,第二节 无符号二进制数的运算,主要内容: 2.2.1 无符号数的算术运算 2.2.2 无符号数的表示范围 2.2.3 逻辑运算 2.2.4 逻辑门 2.2.5 译码器 2.2.6 由基本门电路实现的部件,2.2 无符号二进制数的运算,2.2 无符号二进制数的运算,二进制数,算术运算 逻辑运算,无符号数 有符号数:,算术运算,2.2.1无符号数的算术运算,加法运算 减法运算 乘法运算 除法运算,注意事项:,对加法:1+1=0(有进位) 对减法:0-1=1(有借位) 对乘法:仅有11=1,其余皆为0; 乘以2相当于左移一位。 对除法:除以2则相当于右移1位。,例,000010110100=00101100B 000010110100=00000010B 即:商=00000010B 余数=11B,2.2.2无符号数的表示范围,一个n位的无符号二进制数X,其表示范围为: 0 X 2n-1 若运算结果超出这个范围,则产生溢出。 溢出的判别方法: 运算时,当最高位向更高位有进位(或借位)时则产生溢出。,例:,11111111 + 00000001 1 00000000 结果超出位(最高位有进位),发生溢出。(结果为256,超出位二进制数所能表示的范围255),2.2.3逻辑运算,与() 或() 非() 异或(),掌握:逻辑关系(真值表)和逻辑门。 例:A=10110110, B=01101011 求:AB, AB, AB,特点:按位运算,无进位/借位。,“与”、“或”运算,任何数和“0”相“与”,结果为0 任何数和“1”相“或”,结果为1,B,A,C,A,B,C,&,1,AB=C,AB=C,“非”、“异或”运算,“非”运算即按位求反 两个二进制数相“异或”: 相同则为0,相异则为1,A,A,B,C,1,B=A,A B=C,B,“与非”、“或非”运算,AB=C AB=C,B,A,C,A,B,C,&,1,2.2.4逻辑门,基本的逻辑门是与、或、非门,一个复杂的逻辑电路是由这些基本逻辑门连接成的。 门电路是逻辑关系的基本硬件单元。按制作工艺的不同,可分为双极型逻辑门和MOS型逻辑门。 两种工艺的代表类型为:TTL集成逻辑门和CMOS逻辑门。,1.与门(AND Gate),Y = AB,&,A B,Y,注:基本门电路仅完成1位二进制数的运算,A B,Y,2.或门(OR Gate),Y = AB,Y,A B,1,3.非门(NOT Gate),1,A,Y,1,A,Y,A,Y,4.异或门(eXclusive OR Gate),Y = AB,Y,A B,5.与非门(NAND Gate),Y = A B,Y,A B,&,6.或非门(NOR Gate),Y = A B,Y,A B,1,74LSXX系列是最常用的一种TTL门电路,性能价格比也比较高。如74LS00为四二输入与门、 74LS32为四二输入或门, 74LS86为四二输入异或门等。通过基本的与或非门电路可以设计出需要的各种复杂功能的电路,如加法器、译码器、数值比较器、数据选择器、奇偶检验/产生电路、编码器等。,2.2.5译码器(常用逻辑部件),2.2.5译码器,例:设计的74LS138译码器:,G1,G2A,G2B,C,B,A,Y0,Y7,38译码器原理,译码使能端,译码输入端,译码输出端,74LS138真值表,第三节 符号数的表示及运算,主要内容: 2.3.1 符号数的表示 2.3.2 有符号二进制数与十进制的转换 2.3.3 符号数的算术运算 2.3.4 符号数运算中的溢出问题,2.3 符号数的表示及运算,2.3 符号数的表示及运算,计算机中的符号数的表示方法: 把二进制数的最高位定义为符号位。 符号位:“0” 表示正数, “1” 表示负数。 把符号也数值化了的数,称为机器数。 机器数所表示的真实的数值,称为真值。,注:后面的讲述均以8位二进制数为例。,例:,+52 = +0110100 0 0110100 符号位 数值位 -52 = -0110100 1 0110100,真值,机器数,2.3.1符号数的表示,对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作X原,反码记作X反,补码记作X补。 注意:对正数,三种表示法均相同。 它们的差别在于对负数的表示。,1.原码X原,最高位为符号位,用“0”表示正,用“1”表示负;数值部分照原样写出即可。 优点: 真值和其原码表示之间的对应关 系简单,容易理解; 缺点: 计算机中用原码进行加减运算比 较困难,0的表示不唯一。 正式定义为:,原码的例子,真值,X=+18=+0010010,X=-18=-0010010,原码,X原,=0 0010010,X原,=1 0010010,符号,符号位,n位原码表示数值的范围是 对应的原码是1111 0111,8/16位符号数的表示范围,对8位二进制数: 原码: -127 +127 对16位二进制数: 原码: -32767 +32767,数0的原码,8位数0的原码: +0=0 0000000 -0=1 0000000 即:数0的原码不唯一。,2.反码X反,对一个数X: 若X0 ,则 X反=X原 若X0, 则 X反= 对应原码的符号位 不变,数值部分按位求反。 正式定义为:,反码例,X= -52 = - 0110100 X原=1 0110100 X反=1 1001011,反码的例子,真值,X=+18=+0010010,X=-18=-0010010,反码,X反,=0 0010010,X反,=1 1101101,符号,符号位,n位反码表示数值的范围是 对应的反码是1000 0111,数0的反码,+0反=00000000 -0反 =11111111 即:数0的反码也不是唯一的。,补,3.补码X补,定义: 若X0, 则X补= X反= X原 若X0, 则X补= X反+1 正式定义为:,例,X= 52= 0110100 X原=10110100 X反=11001011 X补= X反+1=11001100,n位补码表示数值的范围是 对应的补码是1000 0111,8/16位带符号数的表示范围,对8位二进制数: 补码: -128 +127 对16位二进制数: 补码: -32768 +32767,0的补码,+0补= +0原=00000000 - 0补= -0反+1=11111111+1 =1 00000000 +0补= -0补= 00000000,对8位字长,进位被舍掉,特殊数10000000,该数在原码中定义为:-0 在反码中定义为: -127 在补码中定义为: -128 对无符号数,(10000000)2=128,4. 8/16位符号数的表示范围,对8位二进制数: 原码: -127 +127 反码: -127 +127 补码: -128 +127 对16位二进制数: 原码: -32767 +32767 反码: -32767 +32767 补码: -32768 +32767,2.3.2有符号二进制数与十进制的转换,对用补码表示的二进制数: 1)求出真值 2)进行转换,例,将一个用补码表示的二进制数转换为十进制数。 X补=0 0101110B 真值为:0101110B 正数 所以:X=+46 X补=1 1010010B 真值不等于:-1010010B 负数 而是:X= X补补= 11010010补 = - 0101110B = - 46,通过使用反码,可将求补码公式中的减法也省略掉,最终实现避免减法运算。 规则如下:,X补= X反+1,2.3.3符号数的算术运算,2.3.3符号数的算术运算,采用补码作加法时,遵循以下原则: 要把符号位当作数据一同参与运算; 符号位相加后,若有进位存在,则把进位舍去,2.3.3符号数的算术运算,通过引进补码,可将减法运算转换为加法运算。 规则如下:X+Y补= X补+Y补 X-Y补= X+(-Y)补 = X补+-Y补 其中X,Y为正负数均可,符号位参与运算。,补码的运算原理,模(module)就是一个计数系统的最大容量。例如,钟表的模为12,8位二进制数的模为28。 凡是用器件进行的运算都是有模运算,运算结果超过模的部分会被运算器自动丢弃。因此,当器件为n位时,有 X=2n+X (mod 2n) 不难验证, X补=2n+X (mod 2n) 因此, XY补= 2n + (XY) (mod 2n) = (2n+X) + (2n Y) (mod 2n) = X补+ Y补,例,X=-0110100,Y=+1110100,求X+Y补=? X原=10110100 X补= X反+1=11001100 Y补= Y原=01110100 所以: X+Y补= X补+ Y补 =11001100+01110100 =01000000 X+Y=+1000000,进(借)位 在加法过程中,符号位向更高位产生进位; 在减法过程中,符号位向更高位产生借位。 溢出 运算结果超出运算器所能表示的范围。 有符号数运算,有溢出表示结果是错误的 无符号数运算,有进(借)位表示结果是错误的,2.3.4符号数运算中的溢出问题,溢出的判断方法,方法: 同号相减或异号相加不会溢出。 同号相加或异号相减可能溢出: 两种情况: 同号相加时,结果符号与加数符号相反溢出; 异号相减时,结果符号与减数符号相同溢出。,方法: 两个8位带符号二进制数相加或相减时,若 C7C61, 则结果产生溢出。 C7为最高位的进(借)位; C为次高位的进(借)位。,溢出的判断方法,观察以下四种情况哪个溢出?,1 0 1 1 0 1 0 1 + 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 0 0,0 1 0 0 0 0 1 0 + 0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1,0 1 0 0 0 0 1 0 + 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1,CASE1:,CASE2:,CASE3:,假定以下运算都是有符号数的运算。,0 0 1 0 0 0 1 0 + 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1,CASE4:,无符号数:错误! 有符号数:错误!,无符号数:正确!有符号数:错误!,无符号数:错误! 有符号数:正确!,例:,若:X=01111000, Y=01101001 则:X+Y= 即:次高位向最高位有进位,而最高位向前无 进位,产生溢出。 (事实上,两正数相加得出负数,结果出错),第四节 定点数与浮点数,2.4 定点数与浮点数,在计算机中,用二进制表示实数的方法有两种: 定点法 浮点法,定点数,定点数:小数点位置固定不变的数。 小数点的位置: 纯小数 纯整数,符号,X1,X2,Xn,小数点位置,符号,X1,X2,Xn,小数点位置,浮点数,浮点数来源于科学记数法 例如:+123.5=+0.123103 -0.001235=-0.12310-2 浮点数:用阶码和尾数表示的数,尾数通常为纯小数。 2EF,数符,阶E,阶符,尾数F,小数点位置,阶码,80x86中使用的IEEE标准浮点数,单精度浮点数(阶码偏移7FH) 双精度浮点数(阶码偏移3FFH),数符,阶E(11位),尾数F(52位) ,整数部分默认为1,小数点位置,数符,阶E(8位),尾数F(23位),整数部分默认为1,小数点位置,31 30 23 22 0,63 62 52 51 0,例:,将1011.10101用8位阶码、15位尾数的规格化浮点数形式表示。 解:因为1011.101010.10111010124 所以要求的浮点数为:,0,0000100,101 1101 0100 0000,0,阶码,阶符,数符,尾数(后补0到15位),用IEEE标准单精度浮点数重做上题。 因为1011.101011.0111010123, 阶为7FH+3=82H=10000010B 所以要求的浮点数为:,0,10000010,011 1010 1000 0000 0000 0000,例:,浮点数的表示,例. 写出178.125以单精度浮点数形式存放的机器数,解:178.125(D) = 10110010.001(B) 表示成规格化的浮点数为1.011001000127 23位有效数字字段为 01100100010000000000000 真阶码为111 偏置阶码为1111111+111=10000110 符号位为0 178.125的单精度浮点机器数为 01000011001100100010000000000000 表示成十六进制为43322000(H),第五节 计算机中的编码,主要内容: 2.5.1 BCD码 2.5.2 ASCII码 2.5.3 汉字编码,2.5 计算机中的编码,2.5 计算机中的编码,非数值数据在计算机中必须以二进制形式表示,非数值数据的表示本质上是编码的过程。常用的二种: BCD码 用二进制编码的十进制数 ASCII码 美国标准信息交换代码,2.5.1 BCD码,用4位二进制数表示一位十进制数。有两种表示法: 压缩BCD码 非压缩BCD码,2.5.1 BCD码,压缩BCD码 每一位用4位二进制表示, 00001001表示09,一个字节表示两位十进制数。 如:92D,转换为BCD码为 10010010B,存储在一个字节,内容为:10010010。,2.5.1 BCD码,非压缩BCD码 用用一个字节表示一位十进制数,高4位总是0000,低4位的00001001表示09。 如:92D,转换为BCD码为 10010010B,存储在两个字节,内容分别为:00001001,00000010。,BCD码与二进制数之间的转换,先转换为十进制数,再转换二进制数;反之同样。 例: (0001 0001 .0010 0101)BCD = 11 .25 = 1011 .01B,采用7位二进制代码对字符进行编码。,英文字母AZ的ASCII码从1000001(41H)开始顺序递增;字母az的ASCII码从1100001(61H)开始顺序递增,这样的排列对信息检索十分有利。,数字09的编码是01100000111001( 30H 39H),规律:高3位:011;后4位:二进制代码(BCD码)。,最高位通常总为0,有时也用作奇偶校验位。,2.5.2 ASCII码,ASCII码的校验,奇校验 加上校验位后编码中“1”的个数为奇数。 例:A的ASCII码是41H(1000001B), 以奇校验传送则为C1H(11000001B) 偶校验 加上校验位后编码中“1”的个数为偶数。 上例若以偶校验传送,则为41H。,2.5.2 ASCII码,用8位二进制数表示时,最高位总为0,因此最高位(D7位)可作为奇偶校验位。 熟悉16进制数0-F的ASCII码: 30H-39H, 41H-46H,ASCII码美国标准信息交换代码,汉字编码包括输入编码、内码和字型编码,分别用于输入、内部处理和输出。 汉字的输入编码是为了使用西文标准键盘把 汉字输入到计算机中,其编码方法主要有数字编码、拼音码和字形编码三类。 除了键盘输入以外,利用语音或图象识别技术自动将汉字输入到计算机内的方法也已经实现,2.5.3汉字编码,汉字字型编码是用来描述汉字字形的代码,它是汉字的输出形式。汉字库有点阵字库、TrueType字库、矢量字库等类型,2.5.3汉字编码,汉字内码是用于汉字信息的存储、交换、检索等操作的机内代码,它采用两个字节的二进制形式表示一个汉字。为了与英文字符能相互区别,汉字机内代码中两个字节的最高位均规定为l。 例如:汉(BABA)字(D6D7)编(E0B1)码(EBC2) 汉字字型编码是用来描述汉字字形的代码,它是汉字的输出形式。 汉字库有点阵字库、TrueType字库、矢量字库等类型,2.5.3汉字编码,结束语,掌握: 掌握原码、反码、和补码的定义、求法,掌握补码运算的特点和基本法则,会用补码加、减法 熟练掌握有符号数的表示方法,了解定点数、浮

温馨提示

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

评论

0/150

提交评论