欢迎来到天天文库
浏览记录
ID:38316140
大小:701.81 KB
页数:67页
时间:2019-06-09
《运算方法与运算部》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章运算方法与运算部件在计算机中,完成数值运算的部件是CPU中的算术逻辑运算单元ALU。它的逻辑结构牵连到机器的指令系统、数据表示方法、运算方法、以及选用的逻辑器件等。本章重点介绍计算机中完成加、减、乘、除、逻辑运算的基本运算方法和相关运算器的构成及工作原理。一、定点加减运算(补码运算)二、溢出判别三、移位四、十进制运算五、逻辑运算(简介)第一节算术逻辑运算基础1.定点加减运算一、补码加减运算计算机中,常用补码进行加减运算。补码可将减法变加法进行运算。补码运算特点:符号位与数值位一同运算。运算的基本规则:[X]补+[Y]补=
2、[X+Y]补[X-Y]补=[X]补-[Y]补=[X]补+[-Y]补由[Y]补求得[-Y]补。其方法是:对[Y]补包含符号位各位求反,末位加1。1.[X]补+[Y]补=2·X0+X+2·Y0+Y=2(X0+Y0)+(X+Y)(1)若X0Y0=00,则[X]补+[Y]补=X+Y=[X+Y]补;(2)若X0Y0=01或10,则[X]补+[Y]补=2+(X+Y)当X+Y>0时,2+(X+Y)>2,进位丢失,得:[X]补+[Y]补=X+Y=[X+Y]补;当X+Y<0时,[X]补+[Y]补=2+(X+Y)=[X+Y]补;(3)若X0Y0=
3、11,则[X]补+[Y]补=4+(X+Y)=2+[2+(X+Y)]∵0>X+Y≥-1,∴2>2+(X+Y)≥1此时,[X]补+[Y]补=2+(X+Y)=[X+Y]补(2自然丢失)在模2下,设[X]补=X0X1X2…Xn,[Y]补=Y0Y1Y2…Yn则[X]补=2·X0+X,[Y]补=2·Y0+Y证明:2、∵[X]补+[Y]补=[X+Y]补∴[Y]补=[X+Y]补-[X]补……①又∵[X-Y]补=[X+(-Y)]补=[X]补+[-Y]补∴[-Y]补=[X-Y]补-[X]补……②①+②得:[Y]补+[-Y]补=[X+Y]补-[X]
4、补+[X-Y]补-[X]补=[X+Y+X-Y]补-[X]补-[X]补=[X+X]补-[X]补-[X]补=0∴[-Y]补=-[Y]补即[X-Y]补=[X]补+[-Y]补=[X]补-[Y]补例1:已知机器字长n=8,X=44,Y=53求:X+Y=?解:[X]原=00101100,[Y]原=00110101[X]补=00101100,[Y]补=00110101结果:X+Y=(+1100001)2=+97[X]补=00101100+[Y]补=00110101[X+Y]补=01100001超出8位,模值舍弃。结果:X+Y=(-11000
5、01)2=-97[X]补=11010100+[Y]补=11001011[X+Y]补=110011111例2:已知机器字长n=8,X=-44,Y=-53,求:X+Y=?解:[44]补=00101100,[53]补=00110101[X]补=[-44]补=11010011+1=11010100,[Y]补=[-53]补=11001010+1=11001011模值舍弃结果:[X-Y]补=(0.0111000)2,X-Y=(+0.0111)2[X]补=0.1101000+[-Y]补=1.101000010.0111000例3:已知机器字
6、长n=8,X=0.1101,Y=0.0110求:X-Y=?解:[X]补=0.1101000,[Y]补=0.0110000,[-Y]补=1.1010000[X]补=1.0011000+[-Y]补=0.01100001.1001000例4:已知机器字长n=8,X=-0.1101,Y=-0.0110求:X-Y=?解:[X]补=1.0011000,[Y]补=1.1010000[-Y]补=0.0110000结果:[X-Y]补=(1.1001000)2X-Y=(-0.0111)22.溢出的检测溢出:运算结果超出了计算机所能表示的数据范围。
7、正溢(上溢):运算结果为正而绝对值超出了表示的范围。负溢(下溢):运算结果为负而绝对值超出了表示的范围。定点数的溢出——根据数值本身判断。例:已知机器字长n=8,X=120,Y=10,求:X+Y=?解:[X]补=01111000,[Y]补=00001010,[X]补=01111000+[Y]补=0000101010000010[X+Y]补=10000010,X+Y=11111110X+Y的真值=-1111110=(-126)10运算结果超出机器数值范围发生溢出错误。8位计算机数值表达范围:(-128~+127)二、溢出判断规则
8、与判断方法两个相同符号数相加,其运算结果符号与被加数相反则产生溢出;两个相异符号数相减,其运算结果符号与被减数相反则产生溢出。相同符号数相减,相异符号数相加不会产生溢出。溢出判断方法:进位判断法,双符号位法。(1)进位溢出判断法S⊕C两单符号位的补码进行加减运算时,若最高数值
此文档下载收益归作者所有