




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机中的数制逻辑电路二进制数的运算及其加法电路二进制编码及常用术语本章主要内容例题与习题返回1.1 计算机中的数制数制是人们利用符号来计数的科学方法。数制可以有很多种,但在计算机的设计和使用上常用的则为十进制、二机制、八进制和十六进制。 数制的基和权数制所使用的数码的个数称为基,数制每一位所具有的值称为权十进制: 基为“10”,权为以10为底的幂, D二进制: 基为“2”,权为以2为底的幂, B八进制: 基为“8”,权为以8为底的幂, O十六进制:基为“16”,权为以16为底的幂 H数制的基与权十进制数:二进制数:数 制 的 转 换十进制数转换成二进制代码的方法: 对于十进制数整数部分采用除
2、2取余法 对于十进制数小数部分采用乘2取整法 例1:求十进制数17的二进制代码例2:求十进制数0.25的二进制代码思考:如何完成十进制数向十六进制数的转换?下一页例1:求十进制数17的二进制代码被除数 除数 商 余数 17 2 8 1 8 2 4 0 4 2 4 0 2 2 1 010001D0D1D2D3D4方法总结:对于十进制数整数部分采用除2取余法返回例2:求十进制数0.25的二进制代码被乘数 乘数 积 取整 0.25 2 0.5 0 0.5 2 1.0 1 0 01 D-1 D-20 D0方法总结:对于十进制数小数部分采用乘2取整法 返回数 制 的 转 换二进制数11011.0111
3、幂24232221202-12-22-32-4 权1684210.50.250.125.0625 数 值16842100.250.125.0625十进制数16 + 8 + 4 + 2 + 1 + 0 + .25 + .125 + .0625 = 27.4375例3:将二进制代码11011.0111转换为十进制数数 制 的 转 换 例4: 将下面给出的二进制数转换成十六进制的数注意二进制数转换为十六进制数的方法: 从小数点开始分别向左和向右把整数和小数部分每四位分段,每段分别转换为一位。若整数最高位的一组不足位,则在其左边补零;若小数最低位的一组不足位,则在其右边补零00100000010110
4、10011111100100十六进制数205A7E4二进制数数 制 的 转 换二进制十进制十六进制二进制十进制十六进制000000100088000111100199001022101010A001133101111B010044110012C010155110113D011066111014E011177111115F思考题为什么要用二进制? 由于电路中通常有两种稳态:导通与阻塞,饱和与截止,高电位与低电位,因此可采用二值电路来描述这种电路的状态。采用二进制,可利用电路进行计数工作,而用二值电路来组成的计算机,则有运算迅速、电路简便、成本低廉等优点,所以要用二进制。 为什么要用十六进制?为了
5、简化二进制的书写,便于记忆。(1)11010(2)1101001、下列各二进制数相当于十进制数的多少?答案:26(10)答案:52(10) 习 题返回1.2 逻辑电路1AYY = A1AYBY=A + B 非门(反向器) 或门 与门&AYBY=A B掌握: 与、或、非门逻辑符号和逻辑关系(真值表) 与非门、或非门的应用其 它 逻 辑 电 路1AYB或非门Y = A + B与非门&AYBY = A B=1AYB异或门Y = AB + AB异或非门=1AYBY = AB + AB1AY1Y = A缓冲器或 运 算表/达式:Y = A + B其可能结果如下:Y = 0 + 0 = 0Y = 0Y =
6、 0 + 1 = 1Y = 1 + 0 = 1Y = 1 + 1 = 1Y = 1结论:两者皆伪者则结果必伪,有一为真则结果为真异或运算 特点:相同为0,相异为1表达式:Y = A B其可能结果如下:Y = 1 1 = 1Y = 1Y = 0 0 = 0Y = 1 0 = 0Y = 0 1 = 0Y = 0结论:两者皆真者则结果必真,有一为伪则结果为伪与 运 算非 运 算这其实也是反向器的性质。所以在电路实现上,反向器是反运算的基本元件表达式:Y = A 返回1.3 二进制数的运算及其加法电路算术的四种基本运算:加、减、乘、除。微型计算机中无专用的减法器,只有加法电路。问题:如何完成算数的四则
7、运算?试计算011与010之和结论:两个二进制数相加是通过逐位相加来实现的。二进制数的加法运算 0 A 1 A+) 0 B +)0 B 00 S 01 S 0 A 1 A+)1 B +) 1 B 01 S 10 SC二进制数的加法运算推广:设两个二进制数分别为A=A3A2A1A0,B=B3B2B1B0两数之和为S=S3S2S1S0S0=A0+B0 进位C1S1=A1+B1+C1 进位C2S2=A2+B2+C2 进位C3S3=A3+B3+C3 进位C4A+B=C4S3S2S1S0半加器电路要求: 有两个输入端,以供两个代表数字(A0 , B0) 的电位输入;有两个输入端,用来输出总和 S0及进位
8、C1 .真 值 表电路图全加器电路p12加法电路设A1010,B1011,则可安排如下图所示加法电路:二进制数的减法运算无专用的减法器,将减法运算改变为加法运算例:实际时间2点,手表指针停在11点,11- 9=2,需倒拨 9,也可以11+ 3=12 + 2舍掉前面的12,这样就将减法运算改变为加法运算。A-B= A+(-B)=A+(B的补码)二进制数的减法运算原理:将减数变成补码后,再与被减数相加,其和(如有进位的话,则舍去进位)就是两个数之差。什么是补码?补码反码(原码取反)()是进位,舍去有符号数与负数的表示法八位二进制数表示的范围为0000000011111111(00HFFH)无符号数
9、:全部二进制位皆表示数,其对应的十进制数为0255,共256个数值;加法电路与减法电路针对电信号的高低来完成加减法,1为高电平、0为低电平,显然,运算器不管它是正数还是负数。问题:在计算机系统中如何来表示有符号数呢?复习有符号数与负数的表示法 它们必须遵循以下的规则:假定X为正数,Y为其相同绝对值的负数,那么 X+Y=0 ;某一个数所代表的值在这个集中是唯一的;符号的引入不能影响运算器的运算; 运算器是电路,它完成有符号数和无符号数表现的形式是一样的。 带符号二进制数的表示及运算计算机中的符号数可表示为: 符号位+真值 机器数 “0” 表示正 “1” 表示负例: +52 = +0110100
10、= 0 0110100 符号位 真值 -52 = -0110100 = 1 0110100 符号位 真值符号数的表示:原码:真值X的原码记为X真,在原码表示法中不论数的正负,数值部分均保持原真值不变。反码:真值X的反码记为X反。正数的反码同原码。负数的反码的数值部分为真值的各位按位取反。补码:真值X的补码记为X补。正数的补码同原码。负数的补码的数值部分为真值的各位按位取反加1。原码:最高位为符号位,用“0”表示正,用“1”表示负;其余为真值部分优点: 真值和其原码表示之间的对应关系简单,容易理解缺点: 计算机中用原码进行加减运算比较困难,0的表示不唯一 8位数0的原码:+0=0 0000000
11、 -0=1 0000000对一个机器数X:若X0 ,则 X反=X原若X0, 则X补= X反= X原若X0, 则X补= X反+1例: X= 52= 0110100 X原=10110100 X反=11001011 X补= X反+1=11001100通过引进补码,可将减法运算转换为加法运算例:将一个用补码表示的二进制数转换为十进制数X补=0 0101110B 真值为:0101110B 正数 所以:X=+46X补=1 1010010B 真值为:-1010010B 负数 从而有:X=X补补=11010010补 =-0101110 =-46对用补码表示的二进制数转换成十进制: 1)求出真值 2)进行二十转
12、换 思考: 10000001 和11111111分别表示-1和-127吗? 它表示的值取决于它与哪个正数相加等于零。也就是说它的绝对值等于0与它的差 00000000 00000000 -10000001 -11111111 01111111 00000001 显然, 10000001 表示 127, 11111111表示 -1.1. 可将其按位取反加1求它的绝对值(也称为求补)2. 也可以将最高位的1理解为-128,后面的值为正数,两者相加即为其表示的有符号数值。有符号数与负数的表示法求十进制负数的二进制(补码)表示的两种方法1、先写出对应的二进制正数表示,然后对其求补运算(按位取反后加1)
13、。例:求-13的二进制补码表示 ,先写出对应正值:00001101; 取反为 11110010 ;再加1则为111100112、用0减其对应的正数表示,不考虑最高借位 00000000 -)00001101 11110011 也就是说11110011 是-13的二进制补码表示(或 128 + 115 = 13) 求补运算、互补、补码1、对一个二进制数按位求反后在末位加1的运算称为求补运算。2、 有两个二进制数A、B,如果A+B=0(不考虑进位),则称A、B为互补,已知A求B或者已知B求A皆可以用求补运算来完成。3、补码是表示数的一种方法,在计算机中常用补码来表 示有符号数。当运算结果超出了有符
14、号数所能表示的范围则称为溢出。无符号数运算不存在溢出问题,只可能出现进位,而溢出和进位是两个不同的概念。你的看法是?关于溢出和进位基本概念:有符号8位二进制数范围: 10000000 01111111(-128 +127),运算结果超出范围时称为溢出,实际上就是运算结果出错,因最高位为符号位,当运算结果超出时会使符号位改变。有符号16位二进制数范围:8000H 7FFFH(-32768 +32767)进位当两个无符号8位二进制数进行运算时其结果为9位二进制数(有一进位位CY), 两个8位的二进制数相加不可能超过9位,因而不存在溢出;(FFH+FFH=1FEH)同样两个无符号16位二进制数进行运
15、算时其结果为17位二进制数(有一进位位CY), 两个16位的二进制数相加不可能超过17位,因而不存在溢出; (FFFFH+FFH=1FFFEH)关于溢出和进位符号数运算中的溢出问题溢出判定准则:两个同符号二进制数相加或异符号数相减时,若最高位进位次高位进位1,则结果产生溢出。思考:有符号数的溢出判定准则是?例:若:X=01111000, Y=01101001 则:X+Y= 注意: 次高位向最高位有进位,而最高位向前无进位,产生溢出。(事实上,两正数相加得出负数,结果出错)可控反相器电路利用补码可将减法变为加法来运算,可控反相器就是为此而设计的,其特点是:两者相同则输出为0,两者不同则输出为1。
16、=1B0SUBY0可控反相器SUBB0YY与B0的关系000相同同相11相同101相反反相10相反异或门二进制的运算及其加法电路=1FAC4A3B3S3C3=1FAA2B2S2C2=1FAA1B1S1C1=1FAA0B0S0C0SUB返回A-B=A+(-B),-B为B的补码,当SUB=1时进行减法运算,上面电路可使B转换成B的补,即(-B),当SUB=0时做加法运算,B的值不变。1.4 二进制编码及常用术语BCD码(8421BCD码):用二进制编码表示的十进制数 ,计数规律与十进制相同“逢十进一” ASCII码:美国国家标准信息交换码,用七位二进制编码表示128个字符和符号BCD码压缩BCD码
17、 用4位二进制码表示一位十进制数扩展BCD码 用8位二进制码表示一位十进制数注意:BCD码数的正负不在数码中体现BCD码与二进制数之间的转换先转换为十进制数,再转换二进制数;反之亦然例:(0001 0001 .0010 0101)BCD =11 .25 =(1011 .01) B为什么使用BCD码调整?例一:8+715。用组合的BCD码表示,运算结果为: 000001110000100000001111 即结果为0FH。在BCD码中,只允许09这10个数字出现,0FH不代表任何BCD 码,因此要对它进行变化。BCD码应该是逢10进1,但计算机在这里是逢16进1。因此,可以在个位上补一个6,让其
18、产生进位,而此进位作为十位数出现。000001100000111100010101 结论:如果一位BCD码所对应的4位二进制超过9,那就应该补上一个6产生进位来进行调整。BCD码调整例题9+918,用组合BCD码表示运算过程为:000010010000100100010010000001100001001000011000错误的原因是:计算机在运算时,遇到低四位往高四位产生进位时是按照逢16进1的规则进行的,但BCD 码要求逢10进1,可见,BCD码运算时只要产生了进位,就会丢失一个6。因此,在出现进位时要进行调整。 结论:对BCD码进行运算时,只要AF变为1就要在低6位进行调整。结果为12
19、00000011 03 00000011 03+00000001 +01 + 00001000 +08 00000100 04 00001011 11 + 00000110 00010001BCD码调整示例03+01=04,没出现大于9的数,也没有半进位,结果正确,不需调整 03+08=11低4位出现大于9的数,需加6进行调整 00001000 08 00110000 30+00001001 +09 + 10000000 +80 00010001 17 10110000 110 +00000110 + 01100000 00010111 (1)00010000BCD码调整示例08+09=17,
20、没出现大于9的数,有半进位,结果 不正确,需加6进行调整 30+80=110高4位出现大于9的数,需加60进行调整38+89=127,高4位与低4位皆出现大于9 或者有进位,结果不正确,需加66进行调整 00111000 38 +10001001 +89 11000001 127 +01100110 (1)00100111 显然,压缩BCD码调整共有需加00H、06H、60H和加66H四种情况BCD码调整示例调整原理总结: 凡是遇上某4位二进制码对应的BCD码大于9时,则加6进行调整;凡是遇上低4位产生了进位时,则加6进行调整。 当对多个字节进行BCD码运算时,如果低位字节往高位字节产生进位则
21、CF1,而当一个字节的低4位往高4位产生进位时,AF1。十进制调整指令会根据CF和AF的值判断是否进行“加6调整”,并进行具体的调整操作。然后,程序再对高位字节进行运算,再进行十进制调整。ASCII码字符的编码,一般用7位二进制码表示。在需要时可在D7位加校验位。熟悉数字及字母的ASCII码数字09:编码是01100000111001,它们的高3位均是011,后4位正好与其对应的二进制代码相符;英文字母AZ:ASCII码从1000001(41H)开始顺序递增;字母az:ASCII码从1100001(61H)开始顺序递增。 ASCII码ASCII码的校验奇校验 加上校验位后编码中“1”的个数为奇
22、数。 例:A的ASCII码是41H(1000001B), 以奇校验传送则为C1H(11000001B)偶校验 加上校验位后编码中“1”的个数为偶数。 A若以偶校验传送则为41H (01000001B)数制、数码的意义 单纯的数字是没有具体意义的,必须在使用它时赋予它一定的规则或约定,所有使用者都必须遵从这些规则或约定,因此在处理数据时首先要搞清楚是什么类型的数据,它有什么规则或约定,然后处理的数据才能得到正确的结果。也就是说,有符号数必须遵从有符号数的规则,BCD码必须遵从BCD码的规则等。计算机中常用术语bit1Mb=10241024bit=220bit1Gb=230bit=1024Mb1T
23、b=240bit=1024GbByte1 Byte=8bit,1KB=1024 Byteword:表示字长,有1bit,4bit,8bit等返回 例题讲解例1 : 完成下列各式补码数的运算,并根据结果设置标志位SF、ZF、CF和OF,指出运算结果有效否。 0100,1001+ 1001, 1101 1110,0110(1)0100,1001b + 1001,1101b 解:SFZFCFOF1000运算结果有效返回(2)0100,0001b - 1010,1011b 解: 0100,0001+ 0101, 0101 1001,0110SFZFCFOF1011运算结果无效1010,10110101
24、, 0101求补 例题讲解(3)0A95Bh + 8CA2hSFZFCFOF0011运算结果无效 A 9 5 B+ 8 C A 2 3 5 F D 解:1(4)6531h - 42DAh 解:SFZFCFOF0000运算结果有效 6 5 3 1+ B D 2 6 2 2 5 7142DABD26求补返回例2 : 把字符串“PART1:Memory”存放在1100 开始的存储区中,请写出字符串的存储情况。 例题讲解 解: P A R T 1 : M e m o r y ASCII码: 50 41 52 54 31 3A 4D 65 6D 6F 72 79 地址: 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 110A 110BIBM PC 的存储器按字节编址,一个ASCII码占用一个字节字符:返回例3 : 写出十进制数3590的非压缩BCD码和压缩的BCD码, 并分别把它们存入数据区UNPAK和PAKED. 例题讲解 解:0 00 90 50 3 UNPAK + 0 + 1 + 2 + 3 + 0 + 19 0PAKED3 5返回例题讲解例4 :请用二进制写出下列十进制数所对应的BCD码,并完成这两个BCD码的相加运算 a. 15 b. 27 00
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外贸英语函电与实务练习题
- 《学生个人电脑硬件操作培训教案》
- 土地综合开发合作协议
- 从一本好书中学到的道理读后感类作文(15篇)
- 六一亲子诵读活动方案
- 六一儿童节比武活动方案
- 六一公司团委活动方案
- 医学营养考试试题及答案
- 六一套圈圈活动方案
- 医学考试试题库及答案
- 2025年网络安全与信息技术考试试题及答案
- JG/T 375-2012金属屋面丙烯酸高弹防水涂料
- 施工现场劳动力调配与材料保障措施
- 江苏省常州市新北区外国语学校2025届英语七下期末考试试题含答案
- 2025届四川省宜宾市叙州区英语七下期末质量检测试题含答案
- T/CCOA 62-2023大豆油生产技术规范
- SQL基础语法的试题与答案
- 山东省潍坊市2025届(年)高三高考模拟考试物理试题及答案(潍坊三模)
- 2025国家开放大学《人文英语1》综合测试形考任务答案
- 【课件】药品安全法规与守护常识
- 电影院线电影票房分成合同
评论
0/150
提交评论