运算方法和运算器1old《计算机组成原理课件》_第1页
运算方法和运算器1old《计算机组成原理课件》_第2页
运算方法和运算器1old《计算机组成原理课件》_第3页
运算方法和运算器1old《计算机组成原理课件》_第4页
运算方法和运算器1old《计算机组成原理课件》_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

第二章运算方法和运算器数据与文字的表示方法定点加法、减法运算定点乘法运算定点除法运算定点运算器的组成浮点运算方法和浮点运算器运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第1页!2.1数据与文字的表示方法计算机中的数据分两类

1.数值数据(有值)例:18-2-0.101123/32

数轴0

2.非数值数据(字母,符号,汉字)例:ABCabc!@#$,.”;:电脑,数据库运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第2页!数据的表示方法定点数(表示范围小,硬件简单)浮点数(表示范围大,硬件复杂)真值与机器数数的机器码表示方法原码表示法补码表示法反码表示法移码表示法运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第3页!②纯整数a、定点整数表示:XsX1X2…Xn(原码、反码、补码)b、范围:1≤|X|≤111…11即:1≤|X|≤2n-1

目前计算机中多采用定点纯整数表示。

由于有些数据用定点数不易表示,因而采用浮点表示法。运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第4页!②浮点数的表示方案:阶符阶码数符数码Ⅰ:Ⅱ:数符阶符阶码数码运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第5页!其中阶码E采用移码方法来表示正负指数,将浮点数的指数真值e变成阶码E时,应 E=e+127(01111111B)运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第6页!IEEE754标准中一个规格化的32位浮点数x的真值可表示为:x=(-1)s×(1.M)×2E-127

e=E-127一个规格化的64位浮点数x的真值为:x=(-1)s×(1.M)×2E-1023

e=E-1023运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第7页![例2]将十进制数数20.59375转换成32位浮点数的二进制格式来存储。[解:]

①首先分别将整数和分数部分转换成二进制数:20.59375=10100.10011②然后移动小数点,使其在第1,2位之间10100.10011=

1.010010011

×

2

4

e=4S=0

E=

4+127=131M=010010011③最后得到32位浮点数的二进制存储格式为:01000001101001001100000000000000=(41A4C000)16

运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第8页!3.十进制数串的表示方法

目前,大多数通用性较强的计算机都能直接处理十进制形式表示的数据。十进制数串在计算机内主要有两种表示形式:(1)字符串形式

字符串形式:一个字节存放一个十进制的数位或符号位。为了指明这样一个数,需要给出该数在主存中的起始地址和位数(串的长度)。运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第9页!数值数据—定点数的表示方法原码表示法补码表示法反码表示法移码表示法运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第10页!数值数据—定点数的表示法(原码)实例:X1=0.10110-0.101100.0000[X]原=0.101101.101100.00001.0000

实例:X1=10110-101100000[X]原=0101101101100000010000

运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第11页!数值数据—定点数的表示法(补码)补码是在“模”和“同余”的概念下导出的。“模”是指一个计量系统的计量范围,即产生“溢出”的量。运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第12页!数值数据—定点数的表示法(补码)继续推导:5-2=5+10(MOD12)5+(-2)=5+10(MOD12)-2=10(MOD12)结论:可以说:在模为12的情况下,-2的补码就是10。一个负数用其补码代替,同样可以得到正确的运算结果。运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第13页!数值数据—定点数的表示法(补码)定义:任意一个X的补码为[X]补,可以用该数加上其模M来表示。[X]补=X+M运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第14页!数值数据—定点数的表示法(补码)实例:X1=0.10110-0.101100.0000[X]补=0.101101.010100.0000

实例:X1=10110-101100000[X]补=01011010101000000运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第15页!数值数据—定点数的表示法(补码)(1)由定义求例:X=-0.1101001[X]补=2+X=10+(-0.1101001)=1.0010111运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第16页!数值数据—定点数的表示法(补码)(2)由原码求补码除符号位以外,其余各位求反,末位加1。例:X=-0.0101011解:[X]原=1.0101011[X]补=1.1110000+0.00000011.1010101由补码求原码,此规则同样适用。运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第17页!由[-X]补求[X]补,此规则同样适用。数值数据—定点数的表示法(补码)(3)由[X]补求[-X]补:连符号位一起各位求反,末位加1。例:[X]补=1.1010101解:[X]补=11010101[-X]补=00001110+100101011运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第18页!数值数据—定点数的表示法(补码)性质:0的补码是唯一的补码便于加减运算n+1位补码所能表示的数:小数:MAX=1-2-n,MIN=﹣1整数:MAX=2n-1,MIN=﹣2n

运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第19页!数值数据—定点数的表示法(反码)由原码求反码,如果X为正数,则[X]反=[X]原;如果X为负数,则将[X]原除符号位以外,每位都变反,可得到[X]反。实例:X=+0.10110-0.10110+0.0000[X]反=0.101101.010010.0000[-0.0000]反1.11111

实例:X1=+10110-10110+0000[X]反=01011010100100000 [-0000]反11111对于反码有[+0]和[-0]之分运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第20页!数值数据—定点数的表示法(移码)由[X]补求[X]移:只要将[X]补的符号位求反,就可得到[X]移。性质:若[X1]移>[X2]移,则有X1>X2.

运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第21页![例3]以定点整数为例,用数轴形式说明原码、反码、补码表示范围和可能的数码组合情况。[解:]思考:为什么补码表示负数时,范围可到-2n?运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第22页!②反码:正数:00000000(+0)01111111(+127)共128个负数:11111111(-0)10000000(-127)共128个共256个∵一个字节8位(即n=8)∴共能表示256个数即:-127~127运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第23页![例4]将十进制真值(-127,-1,0,+1,+127)列表表示成二进制数及原码、反码、补码、移码值。[解:]运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第24页!③负数:a、原、反、补各不相同b、[X]移:数值位与[X]补相同,符号位与[X]补相反均为0c、[X]反、[X]原按位求反[X]补=[X]反+1运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第25页!例题例7、把十进制(+128.75)10×2-10写成浮点表示的机器数,阶码、尾数分别用原码、补码表示。设阶码4位,阶符1位,尾数15位(不含符号位),数符1位。(本题可见习题册P16页第4题)运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第26页!二—十进制有权码——8421BCD码思考1:机器中十进制数是否能直接运算?十进制数用二进制编码思考2:0、1、2…9(共10个状态),需几个二进制位?842123222120运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第27页!8421BCD码1、每个十进制数用四位二进制数表示。3、8421码和十进制数之间直接按位转换。2、四位二进制数有16种状态组合,8421码只用了前十种,1010~1111六种没有使用,是禁用码。位权值00000100012001030011401005010160110701118100091001十进制数8421

运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第28页!(2)余3码(无权码)30110401115100061001710108101120101911001010000011十余3码特点:1、比8421BCD码多出0011所以称为余3码。余3码=8421码+00112、余3码,没有确定的位权值只能理解记忆和十进制之间的关系。3、余3码是一种对9的自补代码。0011110001001011运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第29页!例2:求(5)10+(8)10=解:(5)BCD=0101+=10001101(13)10(8)BCD09AF0~96+11011001000当和大于9时,需加6修正运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第30页!常用的信息分为:定点数数值信息浮点数字符非数值信息汉字逻辑数据运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第31页!字符编码ASCII码是美国信息交换标准代码。(AmericanStandardCodeforInformationInterchange)包括0-9十个数字,大小写英文字母及专用符号等95种可打印字符。Computer01000011011011110110110101110000011101010111010001100101011100107654321运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第32页!显示输出打印输出机内码向字形码转换机内码输入码向机内码转换中文编码字符代码化(输入)数字码拼音码字形码运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第33页!逻辑数据逻辑型数据只有两个值:真和

假,正好可以用二进制码的两个符号分别表示,例如1表示真则

0

表示假不必使用另外的编码规则。对逻辑型数据可以执行逻辑的与或

非等基本逻辑运算。其规则如下运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第34页!三、校验码为了提高计算机的可靠性,除了采取选用更高可靠性的器件,更好的生产工艺等措施之外,还可以从数据编码上想一些办法,即采用一点冗余的线路,在原有数据位之外再增加一到几位校验位,使新得到的码字带上某种特性,之后则通过检查该码字是否仍保持有这一特性,来发现是否出现了错误,甚至于定位错误后,自动改正这一错误,这就是我们这里说的检错纠错编码技术。运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第35页!奇偶校验码奇偶校验码:用于并行码检错原理:在k位数据码之外增加1位校验位,使K+1位码字中取值为1的位数总保持为偶数(偶校验)或奇数(奇校验)。例如:

偶校验奇校验校验位0001000101010101010100011001原有数字位

两个新的码字

运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第36页!例3:数据:01110101奇校验码011101010发送端(门电路)011001110接收端正确奇偶校验只能发现奇数个错误,且不能纠正错误!运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第37页!用n+1为字长(其中1位符号位)表示定点整数时,所能表示的数值范围是?用n+1为字长(其中1位符号位)表示定点小数时,所能表示的数值范围是?运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第38页!机器字长32位,定点表示,尾数31位,数符1位,问:定点原码整数表示时,最大正数?最小负数?定点原码小数表示时,最大正数?最小负数?运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第39页!1)定点表示法符号数值①纯小数:

a、定点小数表示:XS.X1X2…Xn(原码、反码、补码)b、范围:0≤|X|≤0.111…11即:0≤|X|≤1-2-nn位1位由于约定在固定的位置,小数点就不再使用记号“.”来表示。运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第40页!2)浮点表示法①定义:

任意一个R进制都可以通过移动小数点的位置写成X=RE×M式中:R是基数,可以取2,8,16,一旦定义则不能改变,是隐含的。M是纯小数(含数的符号),称为尾数,表示数X的全部有效数字。E是阶码,纯整数,指出小数点在该数中的位置。由于阶码可以取不同的数值,所以,小数点的位置是不确定的,这种数被称为浮点数。二进制浮点数的表示格式:X=2E×M运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第41页!②浮点数的表示方案:Ⅲ:——IEEE754标准(基数R=2)32位浮点数:数符

阶码尾数SEM1位23位8位(移码表示)64位浮点数:数符

阶码尾数SEM1位52位11位(移码表示)运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第42页!尾数规格化如不对浮点数的表示不做明确规定,同一个浮点数表示是不唯一的,比如(1.75)10可以表示1.11*20,0.111×21,0.0111×22因此为提高精度,并保持一致性,规定:当尾数的值不为0时,尾数域的最高有效位为1,如不满足需要左右移动小数点使其满足这一要求,这称为尾数规格化,即变成1.M形式运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第43页![例1]若浮点数x的二进制存储格式为(41360000)16,求其32位浮点数的十进制值。④

于是有

x=(-1)s×1.M×2e[解:]

①将十六进制数展开后,可得二进制数格式为

②指数e=阶码-127=10000010-01111111=00000011=(3)10

③包括隐藏位1的尾数1.M=1.01101100000000000000000=1.011011

=+(1.011011)×23=+1011.011=(11.375)10运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第44页!练习:1、将20.1875转换成,32位浮点数存储?2、若浮点数的二进制存储格式为(41A18000)16,求其十进制值?作业:将十进制数数17.296875转换成位浮点数的二进制格式来存储?运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第45页!

(2)压缩的十进制数串形式压缩的十进制数串形式:一个字节存放两个十进制的数位。用压缩的十进制数串表示一个数,要占用主存连续的多个字节。每个数位占用半个字节(即4个二进制位),其值可用二——十编码(BCD码)或数字符的ASCII码的低4位表示。符号位也占半个字节并放在最低数字位之后,其值选用四位编码中的六种冗余状态中的有关值,如用12(C)表示正号用13(D)表示负号。在这种表示中,规定数位加符号位之和必须为偶数,当和不为偶数时,应在最高数字位之前补一个0。例如+123和-12分别被表示成:123C(+123)012D(-12)

运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第46页!数值数据—定点数的表示法(原码)定点小数表示:Ns.N1N2…Nn定义:[X]

原=定点整数表示:NsN1N2…Nn定义:[X]

原=X1-X0≤X<1-1<X≤0X2n-X0≤X<2n-2n<X≤0运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第47页!数值数据—定点数的表示法(原码)性质:原码为符号位加数的绝对值,0正1负原码零有两个编码,+0和-0编码不同原码难以用于加减运算N+1位二进制原码所表示的范围:小数:MAX=1-2-n,MIN=﹣(1-2-n)整数:MAX=2n-1,MIN=﹣(2n-1)运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第48页!数值数据—定点数的表示法(补码)现在是北京时间3点整,而时钟却指向5点。如何调整?5-2=35+10=3(12自动丢失。12就是模)运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第49页!数值数据—定点数的表示法(补码)进一步结论:在计算机中,机器能表示的数据位数是一定的,其运算都是有模运算。如果是n位整数,其模为2n+1。如果是n位小数,其模为2。若运算结果超出了计算机所能表示的数值范围,则只保留它的小于模的低n位的数值,超过n位的高位部分就自动舍弃了。运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第50页!数值数据—定点数的表示法(补码)定点小数表示:Ns.N1N2…Nn定义:[X]

补=(MOD2)定点整数表示:NsN1N2…Nn定义:[X]

补=

X2+X0≤X<1-1≤X≤0X2n+1+X0≤X<2n

-2n

≤X≤0(MOD2n+1)运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第51页!数值数据—定点数的表示法(补码)由于正数的补码就是正数本身,故着重讲解负数求补码的方法。负数求补码运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第52页!数值数据—定点数的表示法(补码)例:X=-1101001解:[X]补=28+X=100000000+(-1101001)=10010111反过来,由补码求真值,只要将公式进行交换即可。运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第53页!由原码求补码的简便原则:除符号位以外,其余各位按位取反,从最低位开始遇到的个1以前的各位保持不变。例:[X]原=110110100[X]补=101001100100运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第54页!数值数据—定点数的表示法(补码)(4)由[X]补求[1/2X]补:将[X]补的符号位和数值位一起向右移动一次。符号位移走后保持原来的值不变。例:[X]补=10011000[X/2]补=101010001这称为“算术移位”你会求[X/4]补和[X/8]补吗?运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第55页!数值数据—定点数的表示法(反码)定点小数表示:Ns.N1N2…Nn定义:[X]

反=定点整数表示:NsN1N2…Nn定义:[X]

反=X(2-2-n)+X0≤X<1-1<X≤0X(2n+1–1)+X0≤X<2n-2n<X≤0运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第56页!定点数(移码)的表示法对于n+1位数NsN1N2…Nn定义:[X]

移=2n+X

由于移码是在原值X上加一个2n,所以也称为增码,因此,符号为1时,表示正数,符号为0时,表示负数。X=+1101010,[X]移=27+X=1,1101010

-2n≤X<2n运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第57页!

X

[X]移1241111100900010012000001000000000-2-0000010-9-0001001-124-111110027+X128252111111001371000100113010000010128100000001260111111011901110111400000100运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第58页!设n=8则:①原码:正数:00000000(+0)01111111(+127)共128个负数:10000000(-0)11111111(-127)共128个共256个∵一个字节8位(即n=8)∴共能表示256个数即:-127~127运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第59页!③补码:正数:00000000(+0)01111111(+127)共128个负数:11111111(-1)10000001(-127)共127个共255个∵一个字节8位(即n=8),共能表示256个数∴多出10000000表示-128[-128]补=1000000011111111+110000000运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第60页!原码、补码、反码和移码的区别,可分三个区域:①零区:a、[X]原、[X]反有+0、-0之分b、[X]补+0=-0=0c、[X]移[0]移=10000000②正数:a、[X]原=[X]反=[X]补

b、[X]移从1~127

Ⅰ、数值:0000001~1111111与原反补相同

Ⅱ、符号:(始终)=1,与原反补相反运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第61页!例题例5、设机器字长16位,定点表示,尾数15位,数符1位,问:(1)定点原码整数表示时,最大正数是多少?最小负数是多少?(2)定点原码小数表示时,最大正数是多少?最小负数是多少?例6:P27运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第62页!三、十进制数串的表示方法目前,大多数通用性较强的计算机都能直接处理十进制形式表示的数据。十进制数串在计算机内主要有两种表示形式:1.字符串形式字符串形式:一个字节存放一个十进制的数位或符号位。为了指明这样一个数,需要给出该数在主存中的起始地址和位数(串的长度)。2.压缩的十进制数串形式运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第63页!从每个二进制位是否有确定的位权区分,可把二—>十进制编码分为有权码和无权码两种。(1)8421BCD码(有权码)每一位的权值从高位到低位分别为:23

,22

,21,20

即:8,4,2,1运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第64页!例:(37.86)10=(?)8421BCD=(0011,0111.1000,0110)8421BCD一位十进制数,用四位二进制数表示。例:(011000101000.10010101)8421BCD=(?)10四位二进制数,可以表示一位十进制数。=(0110,0010,1000.1001,0101)8421BCD=(628.95)10运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第65页!例1:求(47)10+(32)10=解:(47)BCD=01000111+(32)BCD=001100101001011179(79)10运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第66页!字符与字符串的表示方法计算机中最重要的功能是处理信息,如:数值、文字、符号、语言和图象等。计算机内部,各种信息都必须采用数字化编码的形式被传送、存储、加工。因此掌握信息编码的概念与处理技术是至关重要的。所谓编码,就是用少量简单的基本符号,选用一定的组合规则,以表示出大量复杂多样的信息。运算方法和运算器1old《计算机组成原理课件》共76页,您现在浏览的是第67页!字符

温馨提示

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

评论

0/150

提交评论