《数据表示与逻辑运算.ppt》由会员分享,可在线阅读,更多相关《数据表示与逻辑运算.ppt(78页珍藏版)》请在三一办公上搜索。
1、1,计算机科学导论,第3章 数据表示与逻辑运算李建义,2,前言,现代电子计算机中的运算主要有两种:算术运算和逻辑运算,这些运算是由计算机内部的逻辑部件实现的,而逻辑部件是通过基本门电路实现的。利用这些逻辑部件,可以表示和实现布尔代数的各种运算。考虑到各种信息、指令和数据都必须以二进制表示,本章将介绍数据的二进制表示、二进制的运算以及实现二进制运算的基本逻辑部件。,3,主要内容,3.1 数制及数制之间的相互转换 3.2 编码3.3-3.4 二进制运算:逻辑运算、算术运算 3.5 基本门电路 3.6 组合逻辑电路 3.7 时序逻辑电路,4,ENIAC的缺点,可靠性差,只能稳定地工作几小时;存储容量
2、小:至多能存20个字节;采用十进制;无程序存储功能,采用插拔线;功耗大,每小时150kW。,5,冯诺伊曼思想,二进制:用0、1二进制码组成各种信息进行计算。存储程序工作原理计算机史上的里程碑。,John von Neumann1903 1957,不同进制数之间的转换;小数点的表示;二进制的运算;,6,3.1 数制及数制之间的转换,十进制的运算,7,3.1 数制及数制之间的转换,使用固定个数的数码;0,1,2,9 由低位向高位按“逢10进一”的规则计数,10称为基数;采用“位权”表示法(按权展开);小数点的移动等价于乘10或除10;,同一进位制中,不同位置上的同一个数字符号所代表的值是不同的。,
3、8,3.1 数制及数制之间的转换,(1011.101)2,=123+022+121+120+12-1+02-2+12-3,R进制的数S的位权展开多项式,(1011.101)8,=183+082+181+180+18-1+08-2+18-3,9,3.1 数制及数制之间的转换,二进制(B)八进制(O)十进制(D)十六进制(H),十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 八进制 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 二进制 0
4、 1 10 11 100 110 1000 1010 1100 1110 10000,016之间整数的常用进制数对应关系,10,数制转换1:多项式替代法,(1011.101)2,=123+022+121+120+12-1+02-2+12-3,=(11.625)10,11,数制转换1:多项式替代法,例 试用多项式替代法将十进制数34.75数转换为二进制数。,34.75,3101+4100+710-1+510-2,(3)10=(11)2,(4)10=(100)2,(7)10=(111)2,(5)10=(101)2,(10)10=(1010)2,1110101+10010100+1111010-1+
5、1011010-2,(100010.11)2,11 1010+100+1111010+10110101010=11110+100+(111 1010+101)10101010=100010+1001011 10101010=100010.11,12,数制转换1:多项式替代法,适用场合:将其他进制的数字转换为十进制数例:(357)8=()10,382+581+7 80,=(239)10,适用场合:将其他进制的数字转换为十进制数例:(8BC3)16=()10,8163+B162+C161+3160,=(35779)10,13,数制转换2:基数除法,例 试用整数除法将十进制数92数转换为二进制数。,
6、整数部分,小数部分,适用场合:将十进制整数转换为其它进制的整数,14,数制转换2:基数除法,92,46,23,11,5,2,1,0,(92)10=(1011100)2,15,数制转换2:基数除法,922,115,14,1,0,(922)10=(1632)8,例,将十进制整数922转换成8进制数和16进制数,(922)10=(39A)16,16,数制转换2:基数除法,92,46,23,11,5,2,1,0,基数除法:任意进制之间转换,17,数制转换2:基数除法,例 将4进制数321转换为七进制数。,321,20,1,1,1,0,1,(321)4=(111)7,18,数制转换3:基数乘法,例 将十
7、进制小数0.6875转换为二进制数。,小数部分,整数部分,适用场合:将十进制小数转换为其他进制小数,19,数制转换3:基数乘法,0.6875,1.3750,0.7500,1.5000,1.0000,B-1=1,B-2=0,B-3=1,B-4=1,(0.6875)10=(0.1011)2,20,数制转换3:基数乘法,0.6875,1.3750,0.7500,1.5000,1.0000,任意数制转换,21,数制转换3:基数乘法,例 用基数乘法将二进制数0.1101转换为十进制数。,0.1101,1000.001,1000,1.0100,1,10.1000,10,101.00,101,(0.1101
8、)2=(0.8125)10,22,数制转换4:混合法,多项式替代法:将其他进制转换为十进制;基数乘法:将十进制小数转换为其他进制;基数除法:将十进制整数转换为其他进制;,23,数制转换4:混合法,例 将四进制数1023.231转换为五进制数。,(1023.231)4,=143+042+241+340+24-1+34-2+14-3,=(75.703125)10,75,15,0,3,0,0,3,0.703125,3.515625,2.578125,2.890625,4.453125,(1023.231)4=(300.3224)5,24,数制转换5:直接转换法,适用于:与满足(为整数)2k关系。,三
9、位二进制数对应于一位八进制数;一位八进制数对应于三位二进制数;,16进制与2进制的转换如何处理?,25,数制转换5:直接转换法,例 将二进制数转换为八进制数。,00,0,4,5,1,6,0,2,2=(2061.54)8,26,数制转换5:直接转换法,例 将八进制数1037.26直接转换为二进制数。,1037.26,001,000,011,111,010,110,(1037.26)8=(1000011111.01011)2,27,数制转换6:转换位数的确定,目的:在进行进制转换时,保证数的精度。,(0.2)10=(0.00110011)2,设进制小数为k位,为保证转换精度,需取j位进制小数。,2
10、8,数制转换6:转换位数的确定,例 将十进制数0.31534转换为十六进制数,要求转换精度为,取 j=5,29,3.2 编码,3.2.1 BCD码用四位二进制数表示一位十进制数的方法,称为二十进制代码(Binary coded decimal,BCD码)常见的BCD码有:8421码、2421码、余3码8421码:N=8a3+4a2+2a1+a0 例(10.54)10=(0001 0000.0101 0100)84212421码:N=2a3+4a2+2a1+a0 特点:编码方案不唯一余3码:十进制数的8421码加上0011得到。,30,3.2.2 文本,1.ASCII为每一个字符制定唯一的一个编
11、码,即可将一个字符串转换成一个二进制串美国信息交换标准码:American standard code for information interchange,ASCIIASCII码采用7位编码,可表示128位字符,计算机中用8位表示一个字节,最高位补0;扩展的ASCII码最高位为1,因此1字节的编码共可表示256个字符。C语言字母基于ASCII码字母表,31,3.2.2 文本,2.汉字:两个字节表示一个汉字3.Unicode:32位编码,可以为全世界每种语言的每个字符设定一个唯一的二进制编码。,32,3.2.3 图像,1.位图在位图技术中,图像被看成点的集合,每一个点称为一个像素;黑白图像:
12、用一个二进制位(bit)表示1个像素,1表示黑色,0表示白色;彩色图像:每个像素用24位RGB编码来表示。R、G、B取值范围0255.白色RGB(255,255,255)黑色RGB(0,0,0)问用位图方式存储一张1024512大小的图片需要存储空间是多少?,10245123Byte=1.5MB,33,3.2.3 图像,2.矢量图矢量:是既有大小又有方向的量。物理中称为矢量,数学上称为向量;矢量图是使用数学的方法构造一些基本的几何元素,点、线、矩形、多边形、圆、弧线等,然后利用这些几何元素构造计算机图形。特点:矢量图形可以通过公式计算得到,无需记录像素点信息,图像文件较小。例如画圆:只需记录圆
13、心坐标和半径。优点:图形不失真,34,3.2.4 声音,音频信息编码方法按有规律的时间间隔采样声波的振幅,并记录所得到的数值序列。步骤:(1)采样:等时间间隔的读取声音幅值。采样频率是每秒钟抽取的样本数,单位kHz.(2)量化:把读取的幅值进行分级量化,按整个波形变化的最大幅度划分成几个区段,把落在某个区段的采样幅值归为一类,并给出相应的量化值。,35,3.2.5 可靠性编码,常用可靠性编码:格雷码、奇偶校验码、海明码。1.格雷(Gray)码:任意两个相邻数的编码只有1位二进制数不同。2.奇偶校验码由信息位和1位校验位组成校验位的取值将使整个编码中1的个数为奇数个(奇校验),或偶数个(偶校验)
14、例如6编码:奇校验 0110 1偶校验 0110 0,能够发现1位错误或奇数位错误,对偶数位同时出错不能够发现,36,3.2.5 可靠性编码,3.海明码具有检错和纠错能力。即能够发现错误及哪些位出错。,37,3.3 二进制逻辑运算,10100110,11010111,01110001,运算规则,38,3.3 二进制逻辑运算,应用,*掩码:是一种特二进制代码序列,将源码与掩码经过逻辑运算得出新的操作数,1.与运算(1)应用:“清零”或“复位”,即将二进制数的某些位变成0,做与运算,(2)掩码设计:要清零的相应位置0,其余位为1(3)举例:将8位二进制数的最低位清零,掩码:1111 1110(4)
15、练习:将8位二进制数的第2和5位清零?,39,3.3 二进制逻辑运算,应用,(4)练习:将8位二进制数的第2和5位置位?掩码:,2.或运算(1)应用:“置位”,即将二进制数的某些位变成1(2)掩码设计:,要置位的相应位置1,其余位为0,做或运算(3)举例:将8位二进制数的最低位置位,掩码:0000 0001,0010 0100,40,3.3 二进制逻辑运算,应用,(4)练习:将8位二进制数的第2和5反转?掩码:,3.异或运算(1)应用:“反转”,即将二进制数的某些位反转(取反)。(2)掩码设计:,要反转的相应位置1,其余保持不变位为0,做异或运算(3)举例:将8位二进制数3-7位反转,掩码:,
16、0010 0100,1111 1000,41,3.4 二进制算术运算,计算机是对机器数进行运算的,而我们最终需要的又是真值。因此,希望机器数要尽可能地满足下列要求:,机器数必须能被计算机表示;,机器数与真值的转换要简单,辨认要直观。,机器数的运算规则要简单。,在计算机表示正负号的最简单的方法就是用0表示正号,用1表示负号。,42,3.4.1 数的原码反码和补码表示,43,3.4.1 数的原码反码和补码表示,特殊值的原码、反码和补码表示,44,3.4.1 数的原码反码和补码表示,长度为n的数,其原码、反码与补码均为n+1位;正数的原码、反码及补码均相同,均为其真值前加符号位0;负数的原码为在其真
17、值前加符号位1;负数的反码等于其原码数据位按位求反;负数的补码等于反码数据位末位加1,符号不变;,如何由负数的原码求补码?如何由负数的补码求原码?,45,3.4.1 数的原码反码和补码表示,例 已知x=+101101,y=-101101,求x和y的原码、反码及补码。,x原=x反=x补=0101101,y原=1101101,y反=1010010,y补=1010011,1101100,1101101,如何由负数的原码求补码?符号位不变,数据位变反加1 如何由负数的补码求原码?(1)补码数据位减1得反码,反码数据位变反得原码(2)补码的数据位按位取反加1,符号位不变,46,3.4.2 定点数与浮点数
18、,5.5,2.75,101.1,10.11,小数点在计算机内部如何表示?,定点表示法;浮点表示法;,47,3.4.2 定点数与浮点数,计算机中,数字0和1是用触发器的状态表示的,一个触发器可以存储一位二进制数。如果一个计算机的字长为16位,其结构可以表示如下:,定点小数表示,定点整数表示,48,3.4.2 定点数与浮点数,为了将实际的数用浮点整数或浮点小数表示,这需要对小数进行放大处理或对整数进行缩小处理,以使表示的数变为整数或小数,称为选取比例因子。,小数点位置,小数点位置,49,3.4.2 定点数与浮点数,例 用定点小数和定点整数表示数101.1和10.11。,定点小数,定点整数,50,3
19、.4.2 定点数与浮点数,所谓的浮点表示法,就是计算机中数的小数点位置不是固定的,或者说是浮动的。,一般来讲,任何十进制数N可以表示为:,其中J称为阶码(可正可负),S称为尾数(可正可负)。,51,3.4.2 定点数与浮点数,阶码 尾数,52,3.4.2 定点数与浮点数,阶码,尾数,阶码符号,阶码,尾数符号,尾数,53,3.4.3 算术运算,加法运算,减法运算,乘法运算,除法运算,54,3.4.3 算术运算,例 已知x=+1101,y=+0110,用原码运算计算x-y之值。,(1)将数用原码表示;(2)比较两个数的大小,用大的减小的,同时确定结果的符号;,x原=0,1101,y原=0,0110
20、,0,0111,x-y=+0111,运算规则,55,3.4.3 算术运算,例 已知x=+1101,y=+0110,用反码运算计算x-y之值。,x反=0,1101,-y反=1,1001,10,0110,x-y=+0111,1,0,0111,运算规则,56,3.4.3 算术运算,例 已知x=+1101,y=+0110,用补码运算计算x-y之值。,x补=0,1101,-y补=1,1010,10,0111,x-y=+0111,运算规则,57,3.5 逻辑门电路,在数字系统中,各种功能部件都是由基本逻辑电路实现的。这些基本电路控制着系统中信息的流通,它们的作用和门的开关作用极为相似,故称为逻辑门电路,简
21、称逻辑门或门电路。逻辑门是数字电路逻辑设计中的基本元件。,3.5.1 晶体管,集成电路:将实现各种逻辑功能的元器件及其连线都集中制造在同一块半导体材料基片上,通过引线与外界联系,58,3.5 逻辑门电路,在数字系统中,各种功能部件都是由基本逻辑电路实现的。这些基本电路控制着系统中信息的流通,它们的作用和门的开关作用极为相似,故称为逻辑门电路,简称逻辑门或门电路。逻辑门是数字电路逻辑设计中的基本元件。,3.5.1 晶体管,集成电路:将实现各种逻辑功能的元器件及其连线都集中制造在同一块半导体材料基片上,通过引线与外界联系.,59,3.5.1 晶体管,集成电路,双极型集成电路,单极型集成电路,:采用
22、双极型半导体器件,:采用金属-氧化物-半导体场效应管(简称MOS管)作为元件,双极型集成电路,TTL:transistor-transistor logic晶体管-晶体管逻辑电路,ECL:emitter coupled logic射极耦合逻辑门电路,I2L:integrated injection logic集成注入逻辑电路,60,3.5.1 晶体管,单极型集成电路,N型MOS管,P型MOS管,PMOS,NMOS,CMOS:由PMOS和NMOS组成的互补MOS电路,课后笔记本:总结各种集成电路的优缺点,当栅极为低电平时,源极和漏极导通,当栅极为高电平时,源极和漏极导通,61,3.5.2 非门,
23、CMOS非门,工作原理:1.当VIN为1时,T1断开,T2导通,VOUT=0,2.当VIN为0时,T1导通,T2断开,VOUT=1,62,3.5.3 与非门电路,CMOS与非门,CMOS与门,63,3.5.4 或非门,CMOS或非门,CMOS或门,64,3.5 逻辑门电路,(f)异或门,65,3.6组合逻辑电路,举重比赛规则规定:在一名主裁判和两名副裁判中,必须有两人以上(必须包括主裁判)认为运动员的动作合格,试举才算成功。比赛时主裁判掌握着开关C、两名副裁判分别掌握开关A和B,当裁判认为运动员动作合格时就合上相应的开关,否则不合。,66,3.6 组合逻辑电路,67,3.6 常用组合电路,2-
24、4 译码器,多路复用器,3-8 译码器如何构成?,68,3.6 组合逻辑电路加法器,半加不考虑来自低位的进位,将两个1位二进制位相加,称为半加。半加器实现半加运算的电路,输出和输入的逻辑关系?,0,0,1,0,1,0,0,1,S=AB+AB=A BCO=AB,69,3.6 组合逻辑电路加法器,全加若考虑来自低位的进位,将两个1位二进制位和来自低位的进位相加。全加器实现全加运算的电路,输出和输入的逻辑关系?,70,3.6 组合逻辑电路加法器,71,3.6 组合逻辑电路加法器,72,3.7时序逻辑电路,时序逻辑电路:输出信号不仅与电路该时刻的输入有关,还与电路过去的输入信号有关。电路要具有记忆功能
25、。,73,3.7时序逻辑电路,1.R-S锁存器,Set,Reset,Q,Q,G1,G2,(1)若R=1,S=1,则锁存器保持原来状态不变;(2)若R=1,S=0,则锁存器置为1状态,即Q=1;(3)若R=0,S=1,则锁存器状态置为0状态,即Q=0;,置1端,置位端,置0端,复位端,互补输出端,(4)R和S不能同时为0。,74,3.7时序逻辑电路,2.R-S触发器,触发信号,(1)当CLK=1时,触发器可以接受输入信号;(2)当CLK=0时,触发器保存的是CLK 回到0以前瞬间的状态。,75,3.7时序逻辑电路,D触发器,CLK=1时,D=1,Set=1,Q=1,CLK 回0,则Q=1;CLK
26、=1时,D=0,Reset=1,Q=0,CLK 回0,则Q=0,即保存了D的信息,76,3.7时序逻辑电路,3.寄存器,CLK控制4位的寄存器,可同时存储4位二进制位(4bit)数据。,!时序逻辑电路结构:组合逻辑电路+存储电路,77,3.7时序逻辑电路,223内存的逻辑示意图,地址线,78,本章小结,了解:1文本、图像、声音的编码方法;2译码器的构成;3锁存器、触发器、加法器的结构;理解:1小数的定点数和浮点数表示方法;2寄存器、时序逻辑电路的逻辑结构;掌握:1进位计数制的含义和不同进位制数的转换方法;2BCD码编码方法:8421码、2421码、余3码;3奇偶校验码;4二进制逻辑运算:与运算、或运算、非运算、异或运算;5原码、反码、补码表示及其运算;6晶体管、非门、与非门、或非门的结构。,