第4章数值的机器运算

合集下载

数值计算1-5章

数值计算1-5章

数值计算1-5章数值计算⽅法第1章绪论1.1数值计算⽅法的研究对象和特点数值计算⽅法也称数值分析,它研究⽤计算机求解各种数学问题的数值⽅法及其理论。

数学学科内容⼗分⼴泛,数值计算⽅法属于计算数学的范畴,这⾥只涉及科学和⼯程计算中常见的数学问题,如函数的插值、逼近、离散数据的拟合、数值积分与数值微分、线性和⾮线性⽅程数值解法和矩阵特征值问题数值解法和微分⽅程数值解法等.由于计算机科学与技术的迅速发展,数值计算⽅法的应⽤已经普遍深⼊到各个科学领域,很多复杂和⼤规模的计算问题都可以在计算机上进⾏计算,新的、有效的数值⽅法不断出现.现在,科学与⼯程中的数值计算已经成为各门⾃然科学和⼯程技术科学研究的⼀种重要⼿段,成为与实验和理论并列的⼀个不可缺少的环节.所以,数值计算⽅法既是⼀个基础性的,同时也是⼀个应⽤性的数学学科分⽀,与其他学科的联系⼗分紧密.⽤数值⽅法求解数学问题⾸先要构造算法,即由运算规则(包括算术运算、逻辑运算和运算顺序)构成的完整的解题过程.同⼀个数学问题可能有多种数值计算⽅法,但不⼀定都有效.评价⼀个算法的好坏主要有两条标准:计算结果的精度和得到结果所付出的代价.我们⾃然应该选择代价⼩⼜能满⾜精度要求的算法.计算代价也称为计算复杂性,包括时间复杂性和空间复杂性.时间复杂性好是指节省时间,主要由运算次数决定.空间复杂性好是指节省存储量,主要由使⽤的数据量决定.⽤计算机求数学问题的数值解不是简单地构造算法,它涉及多⽅⾯的理论问题,例如,算法的收敛性和稳定性等.除理论分析外,⼀个数值⽅法是否有效,最终要通过⼤量的数值实验来检验.数值计算⽅法具有理论性、实⽤性和实践性都很强的特点.作为数值计算⽅法的基础知识,本课程不可能⾯⾯俱到.除构造算法外,各章根据内容⾃⾝的特点,讨论的问题有所侧重.学习时我们⾸先要注意掌握⽅法的基本原理和思想,要注意⽅法处理的技巧及其与计算机的结合,要重视误差分析、收敛性和稳定性的基本理论.其次,要通过例⼦,学习使⽤各种数值⽅法解决实际计算问题,熟悉数值⽅法的计算过程.最后,为了掌握本课程的内容,还应做⼀定数量的理论分析与计算练习.1.2数值计算的误差1.2.1误差的来源应⽤数学⼯具解决实际问题,⾸先,要对被描述的实际问题进⾏抽象、简化,得到实际问题的数学模型.数学模型与实际问题之间会出现的误差,我们称之为模型误差.在数学模型中,通常要包含⼀些由观测数据确定的参数.数学模型中⼀些参数观测结果⼀般不是绝对准确的.我们把观测模型参数值产⽣的误差称为观测误差.例如,设⼀根铝棒在温度t时的实际长度为Lt,在t=0时的实际长度为L0,⽤lt来表⽰铝棒在温度为t时的长度计算值,并建⽴⼀个数学模型l t =L(1+at), a≈0.0000238/℃,其中a是由实验观测得到的常数,a∈[0.0000237,0.0000239],则称Lt -lt为模型误差,a-0.0000238是a 的观测误差.在解实际问题时,数学模型往往很复杂,因⽽不易获得分析解,这就需要建⽴⼀套⾏之有效的近似⽅法和数值⽅法.我们可能⽤容易计算的问题代替不易计算的问题⽽产⽣误差,也可能⽤有限的过程代替⽆限的过程⽽产⽣误差.我们将模型的准确解与⽤数值⽅法求得的准确解之间的误差称为截断误差或⽅法误差.例如,对函数()()35721sin 13!5!7!21!n x x x xn x x n +=-+-+++-+,该式右边有⽆限多项,计算机上⽆法计算.然⽽,根据微积分学中的泰勒(Taylor )定理,当|x |较⼩时,我们若⽤前3项作为sin x 的近似值,则截断误差的绝对值不超过77!x .⽤计算机做数值计算时,⼀般也不能获得数值计算公式的准确解,需要对原始数据、中间结果和最终结果取有限位数字.我们将计算过程中取有限位数字进⾏运算⽽引起的误差称为舍⼊误差.例如,13=0.33333…,如果我们取⼩数点后4位数字,则13-0.3333=0.000033…就是舍⼊误差.在数值分析中,除了研究数学问题的算法外,还要研究计算结果的误差是否满⾜精度要求,这就是误差估计问题.在数值计算⽅法中,主要讨论的是截断误差和舍⼊误差.1.2.2 误差与有效数字定义1.1 设x 是某实数的精确值,A x 是它的⼀个近似值,则称x -A x 为近似值A x 的绝对误差,或简称误差.Ax x x-称为x A 的相对误差.当x =0时,相对误差没有意义.在实际计算中,精确值x 往往是不知道的,所以通常把AAx x x -作为A x 的相对误差.定义1.2 设x 是某实值的精确值,A x 是它的⼀个近似值,并可对A x 的绝对误差作估计|x -A x |?A ε,则称εA 是A x 的绝对误差界,或简称误差界.称AAx ε是A x 的相对误差界.例 1.1 我们知道π=3.1415926…,若取近似值πA =3.14,则π-πA =0.0015926…,可以估计绝对误差界为0.002,相对误差界为0.0006.例 1.2 测量⼀⽊板长是954 cm,问测量的相对误差界是多⼤?解因为实际问题中所截取的近似数,其绝对误差界⼀般不超过最⼩刻度的半个单位,所以当x =954 cm 时,有A ε=0.5 cm ,其相对误差界为0.50.00052410.053%954AAx ε==< .定义1.3 设A x 是x 的⼀个近似值,将A x 写成12100.,k A i x a a a =±? , (1.1) 它可以是有限或⽆限⼩数的形式,其中i a (i =1,2,…)是0,1,…,9中的⼀个数字,1a ≠0,k 为整数.如果|x -A x |?0.5×10k n -,则称A x 为x 的具有n 位有效数字的近似值.可见,若近似值A x 的误差界是某⼀位的半个单位,该位到A x 的第⼀位⾮零数字共有n 位,则A x 有n 位有效数字.通常在x 的准确值已知的情况下,若要取有限位数的数字作为近似值,就采⽤四舍五⼊的原则,不难验证,采⽤四舍五⼊得到的近似值,其绝对误差界可以取为被保留的最后数位上的半个单位.例如|π-3.14|?0.5×210-, |π-3.142|?0.5×310-.按定义,3.14和3.142分别是具有3位和4位有效数字的近似值.显然,近似值的有效数字位数越多,相对误差界就越⼩,反之也对.下⾯,我们给出相对误差界与有效数字的关系.定理1.1 设x 的近似值A x 有(1.1)式的表达式. (1) 如果A x 有n 位有效数字,则 111×102A nAx x x a --≤; (1.2)(2) 如果()111×1021A nAx x x a --≤+, (1.3)则A x ⾄少具有n 位有效数字.证由(1.1)式可得到()111--?+≤≤?k A k a x a . (1.4)所以,当A x 有n 位有效数字时11110.5101×10,×102k nA nk Ax x x a a ----?≤=即(1.2)式得证.由(1.3)式和(1.4)式有()()nk nk AAA A a a x x x x x x ---?=?+?+≤-=-105.0101211011111,即说明A x 有n 位有效数字,(2)得证.例1.30.1%,应取⼏位有效数字?解由于因此1a =4,设有n 位有效数字,则由(1.2)式,可令11110a -?≤,即410n -?18,得n ?4.故只要对4位有效数字,其相对误差就可⼩于0.1%,4.472.例1.4 已知近似数A x 的相对误差界为0.3%,问A x ⾄少有⼏位有效数字?解设A x 有n 位有效数字,由于A x 的第⼀个有效数1a 没有具体给定,⽽我们知道1a ⼀定是1,2,…,9中的⼀个,由于()12311101000210291A Ax x x --≤<=+,故由(1.3)式知n=2,即A x ⾄少有2位有效数字.1.2.3 函数求值的误差估计对⼀元函数f(x ),⾃变量x 的⼀个近似值为A x ,以f(A x )近似f(x ),其误差界记作ε(f(A x )).若f(x )具有⼆阶连续导数,f′(A x )与f″(A x )的⽐值不太⼤,则可忽略|x -A x |的⼆次项,由Taylor 展开式得到f(A x )的⼀个近似误差界ε(f(A x ))≈|f′(A x )|ε(A x ).对n 元函数f(x 1,x 2,…,x n ),⾃变量x 1,x 2,…,x n 的近似值分别为x 1A ,x 2A ,…,x n A ,则有()()()12121,,,,,,nn A A nA k kA k k Af f x x x f x x x x x x=??-≈- ∑ ,其中()12,,,A A nA k k f f x x x x x A.因此,可以得到函数值的⼀个近似误差界()()()121,,,nAA nA kA k k Af f x x x x x εε=??≈ ∑. 特别地,对f(x 1,x 2)=x 1±x 2有ε(x 1A ±x 2A )=ε(x 1A )+ε(x 2A ).同样,可以得到ε(x 1A x 2A )≈|x 1A |ε(x 2A )+|x 2A |ε(x 1A ),()()12211222A A A A A A A x x x x x x x εεε+??≈,20A x ≠例1.5 设有长为l,宽为d 的某场地.现测得l 的近似值l A =120 m,d 的近似值d A =90 m ,并已知它们的误差界为|l-l A |?0.2 m,|d-d A |?0.2 m.试估计该场地⾯积S=ld 的误差界和相对误差界.解这⾥ε(l A )=0.2,ε(d A )=0.2,并且有2,,10800A A A S S d l S l d mld====.于是有误差界()21200.2900.242A S m ε≈?+?=,相对误差界()()420.39%10800A r A AS S l dεε=≈=.例1.6 设有3个近似数a=2.31, b=1.93, c=2.24,它们都有3位有效数字.试计算p=a+bc 的误差界和相对误差界,并问p 的计算结果能有⼏位有效数字?解 p=2.31+1.93×2.24=6.6332.于是有误差界ε(p)=ε(a)+ε(bc)≈ε(a)+|b|ε(c)+|c|ε(b) =0.005+0.005(1.93+2.24)=0.02585,相对误差界εr (p)=()0.025856.6332p pε≈≈0.39%.因为ε(p)≈0.02585<0.05,所以p=6.6332能有2位有效数字.1.2.4 计算机中数的表⽰任意⼀个⾮零实数⽤(1.1)式表⽰,是规格化的⼗进制科学记数⽅法.在计算机中通常采⽤⼆进制的数系(或其变形的⼗六进制等),并且表⽰成与⼗进制类似的规格化形式,即浮点形式±2m ×0.β1β2…βt ,这⾥整数m 称为阶码,⽤⼆进制表⽰为m=±α1α2…αs , αj =0或1(j=1,2,…,s),s 是阶的位数.⼩数0.β1β2…βt 称为尾数,其中β1=1,βj =0或1(j=2,3,…,t),t 是尾数部位的位数.s 和t 与具体的机器有关.由于计算机的字长总是有限位的,所以计算机所能表⽰的数系是⼀个特殊的离散集合,此集合的数称为机器数.⽤浮点⽅式表⽰的数有⽐较⼤的取值范围.⼗进制输⼊计算机时转换成⼆进制,并对t 位后⾯的数作舍⼊处理,使得尾数为t 位,因此⼀般都有舍⼊误差.两个⼆进制数作算术运算时,对计算结果也要作类似的舍⼊处理,使得尾数为t 位,从⽽也有舍⼊误差.在实现算法时,计算的最后结果与算法的精确解之间的误差,从根本上说是由机器的舍⼊误差造成的,包括输⼊数据和算术运算的舍⼊误差.因此有必要对计算机中数的浮点表⽰⽅法和舍⼊误差有⼀个初步的了解.有时为了分析某⼀个计算⽅法可能出现的误差现象,为了适应⼈们的习惯,我们会采⽤⼗进制实数系统进⾏误差分析.1.3 数值稳定性和要注意的若⼲原则 1.3.1 数值⽅法的稳定性实际计算时,给定的数据会有误差,数值计算中也会产⽣误差,并且,这些误差在进⼀步的计算中会有误差传播.因此,尽管数值计算中的误差估计⽐较困难,我们还是应该重视计算过程中的误差分析.定义 1.4 对于某个数值计算⽅法,如果输⼊数据的误差在计算过程中迅速增长⽽得不到控制,则称该算法是数值不稳定的,否则是数值稳定的.下⾯举例说明误差传播的现象.例 1.7 计算积分值105nxdx I x =+?, n=0,1,…,6.解由于要计算系列的积分值,我们先推导In 的⼀个递推公式.由1110555n n n n x x I I dx x --++=+?111n xdx n-==,可得下⾯两个递推算法.算法1:115n n I I n-=-,n=1,2, (6)算法2:1115n n I I n -??=-,n=6,5, (1)直接计算可得0ln 6ln 5I =-.如果我们⽤4位数字计算,得I 0的近似值为0I *=0.1823.记n n n E I I *=-,I n *为In 的近似值.对算法1,有15n n E E -=-=…=()5n-E 0.按以上初始值I0的取法有|E 0|?0.5×410-,事实上|E 0|≈0.22×410-.这样,我们得到|E 6|=65|E 0|≈0.34.这个数已经⼤⼤超过了I 6的⼤⼩,所以6I *连⼀位有效数字也没有了,误差掩盖了真值.对算法2,有E k-n =15n ??-E k ,|E 0|=615??|E 6|.如果我们能够给出I 6的⼀个近似值,则可由算法2计算I n (n=5,4,…,0)的近似值.并且,即使E 6较⼤,得到的近似值的误差将较⼩.由于()()11011616551kkk xxI d d x x k k =<<=++??,因此,可取Ik 的⼀个近似值为()()11126151k I k k *=+?? ? ?++??. 对k=6有6I *=0.0262.按0I *=0.1823和6I *=0.0262,分别按算法1和算法2计算,计算结果如表1-1,其中()1n I 为算法1的计算值, ()2n I 为算法2的计算值.易知,对于任何⾃然数n,都有0表1-1n()1nI()2nInI (4位)0 0.1823 0.1823 0.18231 0.0885 0.0884 0.08842 0.0575 0.0580 0.05803 0.0458 0.0431 0.04314 0.0210 0.0344 0.03435 0.0950 0.0281 0.02856-0.3083 0.0262 0.0243当然,数值不稳定的⽅法⼀般在实际计算中不能采⽤.数值不稳定的现象属于误差危害现象.下⾯讨论误差危害现象的其他表现及如何避免问题.1.3.2 避免有效数字的损失在数值计算中,参加运算的数有时数量级相差很⼤,⽽计算机位数有限,如不注意,“⼩数”的作⽤可能消失,即出现“⼤数”吃“⼩数”的现象. 例1.8 ⽤3位⼗进制数字计算x =101+δ1+δ2+…+δ100,其中0.1?δi ?0.4,i =1,2, (100)解在计算机内计算时,要写成浮点数形式,且要对阶.如果是101与δ1相加,对阶时,101=0.101×103,δ1=0.000×103.因此,如果我们⾃左⾄右逐个相加,则所有的δi 都会被舍掉,得x ≈101.但若把所有的δi 先加起来,再与101相加,就有111=101+100×0.1?x ?101+100×0.4=141.可见,计算的次序会产⽣很⼤的影响.这是因为⽤计算机计算时,在运算中要“对阶”,对阶引起了⼤数吃⼩数的现象.⼤数吃⼩数在有些情况下是允许的,但有些情况下则会造成谬误.在数值计算中,两个相近数相减会使有效数字严重损失.例1.9 求实系数⼆次⽅程20ax bx c ++=的根,其中b 2-4ac>0,ab ≠0. 解考虑两种算法. 算法1:1,22x a=算法2:(12b sign b x a--=, 21c x ax =,其中sign 表⽰取数的符号,即()1,0,0,0,1,0.b sign b b b >??==??-对算法1,若ac b 42>>,则是不稳定的,否则是稳定的.这是因为在算法1中分⼦会有相近数相减的情形,会造成有效数字的严重损失,从⽽结果的误差很⼤.算法2不存在这个问题,在任何情况下都是稳定的.因此称算法1是条件稳定的,算法2是⽆条件稳定的.例如,对于⽅程262.10 1.0000x x ++=,⽤4位有效数字计算,结果如下:算法1:x 1=-62.08, x 2=-0.02000. 算法2:x 1=-62.08, x 2=-0.01611.准确解是x 1=-62.083892…,x 2=-0.016107237….这⾥,ac b 42>>,所以算法1不稳定,舍⼊误差对x 2的影响⼤.在进⾏数值计算时,如果遇到两相近数相减的情形,可通过变换计算公式来避免或减少有效数字的损失.例如,如果|x |≈0,有变换公式1cos sin sin 1cos x x xx-=+.如果x 1≈x 2,有变换公式1122lg lg lgx x x x -=.如果x 〉〉1,有变换公式.此外,⽤绝对值很⼩的数作除数时,舍⼊误差会很⼤,可能对计算结果带来严重影响.因此,要避免除数绝对值远远⼩于被除数绝对值的除法运算.如果⽆法改变算法,则采⽤增加有效位数进⾏计算,或在计算上采⽤双精度运算,但这要增加机器计算时间和多占内存单元.1.3.3 减少运算次数在数值计算中,要注意简化计算步骤,减少运算次数,这也是数值分析中所要研究的重要内容.同样⼀个计算问题,如果能减少运算次数,不但可节省计算机的计算时间,还能减少误差的积累.下⾯举例说明简化计算公式的重要性.例1.10 给定x ,计算多项式()110nn n n n P x a x a xa --=+++的值.如果我们先求ak x k ,需要进⾏k 次乘法,再相加,则总共需要()12n n +次乘法和n次加法才能得到⼀个多项式的值.如果我们将多项式写成下⾯的形式()(){}1210n n n n P x x x x a x a a a a --??=+++++?? ,则只需n 次乘法和n 次加法即可得到⼀个多项式的值,这就是著名的秦九韶算法,可描述为1,,1,2,,0,n n k k k u a u u x a k n n +=??=+=--?最后有()0n u P x =.例1.11 计算ln2的值. 解如果利⽤级数()()11ln 11nn n xx n∞+=+=-∑计算ln2,若要精确到误差的绝对值⼩于10-5,要计算10万项求和,计算量很⼤,并且舍⼊误差的积累也⼗分严重.如果改⽤级数()35211ln 213!5!21!n xx x xx x n +??+=+++++ ? ?-+??来计算ln2,取x =1,则只要计算前9项,截断误差便⼩于10-10.1.4 向量和矩阵的范数为了对矩阵计算进⾏数值分析,我们需要对向量和矩阵的“⼤⼩”引进某种度量.在解析⼏何中,向量的⼤⼩和两个向量之差的⼤⼩是⽤“长度”和“距离”的概念来度量的.在实数域中,数的⼤⼩和两个数之间的距离是通过绝对值来度量的.范数是绝对值概念的⾃然推⼴.1.4.1 向量的范数定义1.5 如果向量x ∈n R 的某个实值函数f(x )=‖x ‖满⾜ (1) 正定性:x ?0,且x =0当且仅当x =0;(2) 齐次性:对任意实数α,都有αx =|α|x ; (3) 三⾓不等式:对任意x ,y ∈R n ,都有+x y ?x +y ,则称x 为n R 上的⼀个向量范数.在n R 中,记()12,,,Tn x x x =x ,实际计算中最常⽤的向量范数有: (1) 向量的∞范数1max i i nx ∞≤≤=x;(2) 向量的1范数11nii x ==∑x;(3) 向量的2范数12221in x i ==??∑x.容易验证,向量的∞范数和1范数满⾜定义1.5中的条件.对于2范数,满⾜定义1.5中的条件(1)和(2)是显然的,对于条件(3),利⽤向量内积的Cauchy-Schwarz 不等式可以验证.更⼀般地,有如下向量的p 范数1pipn px i ==??∑x,其中p ∈ [1,+∞).容易验证1ppn∞∞≤≤xxx,由此可得如下定理.定理1.2 lim pp ∞→∞=xx.下⾯,我们利⽤向量范数的连续性来说明向量范数的重要特征.定理1.3 设给定A ∈R n ×n ,x =(x 1,x 2,…,x n )T ∈R n ,则对R n 上每⼀种向量范数,‖A x ‖都是x 1,x 2,…,x n 的n 元连续函数.证设a j 为A 的列向量,将A 写成A =(a 1,a 2,…,a n ). 则由三⾓不等式,对h =(h 1,h 2,…,h n )T ∈R n,有|‖A (x +h )‖-‖A x ‖|?‖A h ‖=‖1ni i h =∑a i ‖1ni i h =∑‖a i ‖M max|h i |,其中M=1ni =∑‖a i ‖.所以,对任意的ε>0,当max|h i |<Mε时,有|‖A (x +h )‖-‖A x ‖|<ε, 这就证明了‖A x ‖的连续性.推论1.1 ‖x ‖是x 的各分量的连续函数. 向量范数的⼀个重要特征是具有等价性.定理 1.4 R n 上的所有向量范数是彼此等价的,即对R n 上的任意两种向量范数‖x ‖s和‖x ‖t ,存在常数c 1,c 2>0,使得对任意x ,有c 1‖x ‖s ?‖x ‖t ?c 2‖x ‖s .证只要就‖x ‖s =‖x ‖∞证明上式成⽴即可,即证明存在常数c 1,c 2>0,对⼀切x ∈R n且x ≠0,有c 1‖x ‖∞?‖x ‖t ?c 2‖x ‖∞.记R n 上的有界闭集D={x :x =(x 1,x 2,…,x n )T ,‖x ‖∞=1}.由定理1.3的推论知,‖x ‖t 是D 上的n 元连续函数,所以在D 上有最⼤值c 2和最⼩值c 1,且x ∈D 时有x ≠0,故有c 2?c 1>0.现考虑x ∈R n ,且x ≠0,则有∞x x ∈D,所以有c 1?‖∞x x ‖t ?c 2, ?x ∈R n ,x ≠0.从⽽对x ≠0有c 1‖x ‖∞?‖x ‖t ?c 2‖x ‖∞.⽽x =0时上式⾃然成⽴,定理得证.由于向量范数之间具有等价性,对于范数的极限性质,我们只需对⼀种范数进⾏讨论,其余范数也都具有相似的结论.⽐如,我们可以⽅便地讨论向量序列的收敛性.定义1.6 设向量序列x (k)=()()()()12,,,Tk k k nx x x ∈R n ,k=1,2,…,若存在x *=()12 ,,,Tn x x x ***∈R n ,使得()lim k iik x x *→∞=, i =1,2,…,n,则称序列{x (k)}收敛于x *,记为()lim k ik *→∞=x x.按定义有)()lim lim 0k k k k **→∞→∞∞=?-=xx xx.⼜因为()()()12k k k c c ***∞∞-≤-≤-xxxxxx,所以有()()lim lim 0k k k k **→∞→∞=?-=xx xx.因此,若向量序列在⼀种范数下收敛,则在其他范数下也收敛.不必强调是在哪种范数意义下收敛.1.4.2矩阵的范数定义1.7 如果矩阵A ∈R n ×n 的某个实值函数f(A )=‖A ‖满⾜ (1) 正定性:‖A ‖?0,且‖A ‖=0当且仅当A =0;(2) 齐次性:对任意实数α,都有‖αA ‖=|α|‖A ‖;(3) 三⾓不等式:对任意A ,B ∈R n ×n ,都有‖A +B ‖?‖A ‖+‖B ‖; (4) 相容性:对任意A ,B ∈R n ×n ,都有‖A B ‖?‖A ‖‖B ‖;则称‖A ‖为Rn ×n上的⼀个矩阵范数.可以验证,对()ij n na ?=A ,12211Fn n a ij i j ?? ?=∑∑ ?==??A是⼀种矩阵范数,称之为Froben i us 范数,简称F 范数.由于矩阵与向量常常同时参与讨论与计算,矩阵范数与向量范数之间需要有⼀种联系. 定义1.8 对于给定的R n 上的⼀种向量范数‖x ‖和R n ×n 上的⼀种矩阵范数‖A ‖,如果满⾜‖A x ‖?‖A ‖‖x ‖,则称矩阵范数‖A ‖与向量范数‖x ‖相容.上⾯的定义1.7是矩阵范数的⼀般定义,下⾯我们通过已给的向量范数来定义与之相容的矩阵范数.定义 1.9 设x ∈R n ,A ∈R n ×n ,对给出的⼀种向量范数v x ,相应地定义⼀个矩阵的⾮负函数m axvvx v≠=A x Ax.称之为由向量范数导出的矩阵范数,也称为算⼦范数或从属范数.由定义可得vvv≤A xAx,1max vvv==xAAx.算⼦范数满⾜矩阵范数⼀般定义中的条件(1)和(2)是显然的,现验证满⾜条件(3)和(4).对任意的A ,B ∈R n ×n ,有()1maxvvv =+=+xA B x11max max v vvvvvxx==≤+=+Ax BxAB1max vvv==xABABx1max vvvvvv=≤=xABxA.因此,算⼦范数满⾜矩阵范数⼀般定义中的条件(3)和(4).由常⽤的向量范数,可以导出与其相容的矩阵算⼦范数.定理1.5 设A ∈R n ×n ,记()ij n na ?=A ,则(1)11max nij i nj a ∞≤≤==∑A,称之为矩阵A 的⾏范数;(2) 111m ax nij j ni a ≤≤==∑A ,称之为矩阵A 的列范数;(3)2=A称之为矩阵A 的2范数或谱范数,其中,()max TλA A 表⽰T A A的最⼤特征值.证这⾥只对(1)和(3)给出证明,(2)的证明同理可得. 先证明(1):设x =(x 1,x 2,…,x n )T ≠0,不妨设A ≠0,则有1111max max nnij j ij i ni nj j xa x xa ∞∞≤≤≤≤===≤∑∑A .111max max nij xi nj a ∞∞∞=≤≤===∑AAx.设矩阵A 的第p ⾏元素的绝对值之和达到最⼤,即111max nnpj ij i nj j a a ≤≤===∑∑.取向量()12,,,Tn ξξξ= ξ,其中1,0,1,0.a pj j apjξ≥??=?-显然,‖ξ‖∞=1,⽽且1111m ax m axnn∞∞=≤≤===≥==∑∑xAA xA ξ.于是(1)得证.再证明(3):显然,A TA 是对称半正定矩阵,它的全部特征值均⾮负,设为120n λλλ≥≥≥≥ .由实对称矩阵的性质,各特征值对应的特征向量必正交.设对应的标准正交特征向量为12,,,nu u u ,即T i i i λ=A Au u (i =1,2,…,n),(u i ,u j )=δi j (i ,j=1,2,…,n).对向量x ∈R n ,‖x ‖2=1,可由R n 的⼀组基u i (i =1,2,…,n)线性表⽰,即有1niii c ==∑x u ,22211nii c===∑x11nnT Ti ii i i cc λλλ====≤=∑∑A xx A A x .另⼀⽅⾯,取ξ=u 1,显然有‖ξ‖2=1,211112T T Tλλ===A ξξA A ξu u .因此,2221m ax ===xAA x得证.由定理1.5可见,计算⼀个矩阵的⾏范数和列范数是⽐较容易的,⽽矩阵的2范数计算却不⽅便,但由于它有许多好的性质,所以在理论上还是有⽤的.例1.12 设矩阵1234-??=解 {}m ax 3,77∞==A,{}1m ax 4,66==A ,10141420T-??=-A A ()21014det 3041420Tλλλλλ--==-+-I A A ,求得115λ=+215λ=-因此25.46=≈A.定义1.10 设A ∈R n ×n 的特征值为λi (i =1,2,…,n),称()1max i i nρλ≤≤=A为A 的谱半径.谱半径在⼏何上可解释为以原点为圆⼼,能包含A 的全部特征值的圆的半径中最⼩者.例1.13 计算例1.12中矩阵的谱半径.解由A 的特征⽅程()2=--=-I A得12λ=,22λ=所以() 5.372ρ=≈A .定理1.6 设A ∈R n ×n ,则有()ρ≤A A .证设A x =λx ,x ≠0,且|λ|=ρ(A ),必存在向量y ,使x y T 不是零矩阵.于是()TTTTA ρλ==≤A xyxyxyA xy,即得ρ(A )?‖A ‖.例1.14 设矩阵A 与矩阵B 是对称的,求证ρ(A +B )?ρ(A )+ρ(B ).证因T =A A ,于是有()()()222max max 2A A AA ,即‖A ‖2=ρ(A ).同理‖B ‖2=ρ(B ).由于A +B =(A +B )T,因此()()()222ρρρ+=+≤+=+A B A BABA B .定理1.7 如果‖B ‖<1,则I ±B 为⾮奇异矩阵,且()111-±≤-I B B,这⾥的矩阵范数是指矩阵的算⼦范数.证若I ±B 奇异,则存在向量x ≠0,使(I ±B )x =0,故有ρ(B )?1,这与‖B ‖<1⽭盾,所以I ±B ⾮奇异.由于()()11--±=± I B I B I B ,于是得()()11--±≤+±I B I BI B .上的任意两种矩阵范数都是等价的,即对Rn ×n上的任意两种矩阵范数sA和t A ,存在常数c 1,c 2>0,使得12stsc c ≤≤AAA.由矩阵范数的等价性,我们可以⽤矩阵的范数描述矩阵序列的极限性质.定义1.11 设矩阵序列()()()kk n nijn na ??=∈A R,k=1,2,…,若存在()n nij n na **=∈A R,使得()lim k ijijk a a *→∞()lim k k *→∞=AA.可以验证()()lim lim 0k k k k **→∞→∞=?-=AA AA.评注本章介绍了数值计算的研究对象、误差及相关概念、数值计算的稳定性及构造算法的基本原则.考虑到矩阵计算的数值分析,本章还介绍了向量范数和矩阵范数的基本概念和常⽤定理.误差分析问题是数值分析中重要⽽困难的问题.误差的基本概念和误差分析的若⼲原则,对学习本课程是很有必要的.但是,作为⼯程或科学计算的实际问题则要复杂得多,往往要根据不同问题分门别类地进⾏分析.例如,由于舍⼊误差有随机性,有⼈应⽤概率的观点研究误差规律.在⼯程计算中,常⽤⼏种不同办法(包括实验⽅法)进⾏⽐较,以确定计算结果的可靠性.20世纪60年代以来,发展了两种估计误差的理论:⼀种是J.H.W i lk i nson 等⼈针对计算机浮点算法提出了⼀套预先估计的研究误差的⽅法,使矩阵运算的舍⼊误差研究获得了新发展;另⼀种是R .E.Moore 等⼈应⽤区间分析理论估计误差,开创了研究误差的新⽅法. 关于范数⽅⾯,所述内容是为以下各章服务的⼀些初步概念和常⽤的定理,对本书够⽤就可以了.例如只讨论了R n ×n 的范数,⽽没有顾及R n ×m .⼜例如介绍了R n 和R n ×n 上范数的等价性,此性质对有限维空间都是成⽴的,⽽对于C[a,b]则没有这个性质,这些都是赋范线性空间有关的问题,详细讨论这些问题是泛函分析的内容.习题 11.1 已知e=2.71828…,问下列近似值A x 有⼏位有效数字,相对误差界是多少? (1) x =e, A x =2.7; (2) x =e, A x =2.718; (3) x =e100, A x =0.027; (4) x =e100, A x =0.02718. 1.2 设原始数据的下列近似值每位都是有效数字:1x *=1.1021, 2x *=0.031, 3x *=56.430. 试计算(1) 1x *+2x *+3x *;(2),并估计它们的相对误差界.1.3 设x 的相对误差界为δ,求n x 的相对误差界.1.4 设x >0,x 的相对误差界为δ,求ln2的绝对误差界.1.5 为了使计算球体体积时的相对误差不超过1%,问测量半径R 时的允许相对误差界是多少?1.6 三⾓函数值取4位有效数字,怎样计算1-cos2°才能保证精度? 1.7 设0Y =28,按递推公式nY=1n Y --…,计算.若取27.982(5位有效数字),试问计算Y 100将有多⼤误差?1.8 求解⽅程25610x x ++=,使其根⾄少具有4位有效数字(≈27.982).1.9 正⽅形的边长⼤约为100 cm ,应怎样测量才能使其⾯积的误差不超过21cm ? 1.10 序列{yn}满⾜递推关系1101n n y y -=-,n=1,2,….若y 0 1.41(3位有效数字),计算到y 10时的误差有多⼤?这个计算过程稳定吗?1.11 对积分11n x n I x edx -=,n=0,1,…,验证101I e-=-,11n n I nI -=-.若取e -1≈0.3679,按递推公式11n n I nI -=-,⽤4位有效数字计算I 0,I 1,…,I 9,并证明这种算法是不稳定的.1.12 反双曲正弦函数为()(ln f x x =+.如何计算f(x )才能避免有效数字的损(1) sin x -siny ; (2) arctan x -arctany ;(3)2; (4)212xe-.1.14 已知三⾓形⾯积1sin 2s ab C=,其中C 为弧度,0π,且测量a,b,C 的误差分别为Δa,Δb,ΔC ,证明⾯积的误差Δs 满⾜s a b C s ab C≤++ .1.15 设P ∈R n ×n 且⾮奇异,⼜设‖x ‖为R n 上的⼀种向量范数,定义p=xP x.试证明‖x‖P 是R n 上的⼀种向量范数.1.16 设A ∈R n ×n 为对称正定矩阵,定义()12,A=xA x x .试证明‖x‖A 为R n 上的⼀种向量范数.1.17 设矩阵0.60.50.10.3??=2F≤≤AA,并说明‖A ‖F 与‖x‖2相容.1.19 设P ∈Rn ×n且⾮奇异,⼜设‖x‖为R n上的⼀种向量范数,定义范数‖x‖P =‖P x ‖.证明对应于‖x‖P 的算⼦范数1 p-=APAP.1.20 设A 为⾮奇异矩阵,求证:11m iny ∞-≠∞∞=A y yA.。

(完整版)计算机第三.四章(网上题目,含答案)

(完整版)计算机第三.四章(网上题目,含答案)

3.1练习已完成分数:100.0
1
()是计算机中表示信息的最小单位。

两个二进制数10011和11001进行逻辑或后的结果应该是()。

二进制数只有0和1两个数字符号,基数是()。

正确答案:
第一空:2
我的答案:
第一空:
2
批语
6
逻辑代数是实现逻辑运算的数学工具,也称为()代数。

正确答案:
第一空:布尔
我的答案:
第一空:
布尔
批语
练习2.2已完成分数:90.0
1
若某种进位计数制中使用r个符号(0,1,2,……r-1),则称r为该进位计数制的()。

将二进制数11011.11转换为十进制数,其结果为()。

第一空:8第二空:23
我的答案:
第一空:
7
第二空:
23
批语
练习2.4已完成分数:100.0 1
下面不属于汉字编码的是()。

第一空:
分时
批语
4
操作系统是一种系统软件,它是()的接口。

练习3.2已完成分数:75.0
1
在Windows 中,关于文件夹的描述不正确的是()。

正确答案:A 我的答案:A
3
在Windows 操作环境下,要将整个屏幕画面全部复制到剪贴板中应该使用()键。

6
操作系统中,进程可以分为()进程和用户进程两类。

正确答案:
第一空:系统
我的答案:
第一空:
ORACLE
批语。

计算机组成原理第4章习题参考答案

计算机组成原理第4章习题参考答案

计算机组成原理第4章习题参考答案第4章数值的机器运算4-2.某加法器采⽤组内并⾏,组间并⾏的进位链,4位⼀组,写出进位信号C6逻辑表达式。

[解] 组间并⾏的进位链,产⽣的最低⼀组的进位输出为:C4=G1*+P1*C0 (其中:G1*=G4+P4G3+P4P3G2+P4P3P2G1;P1*=P4P3P2P1)然后在组内产⽣进位信号C6:C6=G6+P6C5=G6+P6G5+P6P5C44-4.已知X和Y,使⽤它们的变形补码计算出X+Y,并指出结果是否溢出。

(1)X=0.11011,Y=0.11111(2)X=0.11011,Y=-0.10101(3)X=-0.10110,Y=-0.00001(4)X=-0.11011,Y=0.11110[解](1)[X]补=0.11011,[Y]补=0.1111100.11011 [X]补+00.11111 [Y]补01.11010 [X+Y]补结果正溢出!(2)[X]补=0.11011,[Y]补=1.0101100.11011 [X]补+11.01011 [Y]补00.00110 [X+Y]补结果不溢出!X+Y=0.00110(3)[X]补=1.01010,[Y]补=1.1111111.01010 [X]补+11.11111 [Y]补11.01001 [X+Y]补结果不溢出!X+Y=-0.10111(4)[X]补=1.00101,[Y]补=0.1111011.00101 [X]补+00.11110 [Y]补00.00011 [X+Y]补结果不溢出!X+Y=0.000114-5.已知X和Y,使⽤它们的变形补码计算出X-Y,并指出结果是否溢出。

(1)X=0.11011,Y=-0.11111(2)X=0.10111,Y=0.11011(3)X=0.11011,Y=-0.10011(4)X=-0.10110,Y=-0.00001[解](1)[X]补=0.11011,[Y]补=1.00001, [-Y]补=0.1111100.11011 [X]补+00.11111 [-Y]补01.11010 [X-Y]补结果正溢出!(2)[X]补=0.10111,[Y]补=0.11011, [-Y]补=1.0010100.10111 [X]补+11.00101 [-Y]补11.11100 [X-Y]补结果不溢出!X-Y=11.11100(3)[X]补=0.11011,[Y]补=1.01101, [-Y]补=0.1001100.11011 [X]补+00.10011 [-Y]补01.01110 [X-Y]补结果正溢出!(4)[X]补=1.01010,[Y]补=1.11111,[-Y]补=0.0000111.01010 [X]补+00.00001 [-Y]补11.01011 [X-Y]补结果不溢出!X-Y=-0.101014-6.已知:X=0.1011,Y=-0.0101求:[X/2]补 ,[X/4]补 ,[-X]补 ,[Y/2]补 ,[Y/4]补 ,[-Y]补,[2Y]补[解] 由[X]补=0.1011,[Y]补=1.1011 得:[X/2]补=0.0101,[X/4]补=0.0010,[-X]补=1.0101[Y/2]补=1.1101,[Y/4]补=1.1110,[-Y]补=0.0101,[2Y]补=1.01104-7. 设下列数据长8位,包括⼀位符号位,采⽤补码表⽰,分别写出每个数右移或左移两位之后的结果(1)0.1100100 (2) 1.0011001 (3) 1.1100110 (4)1.0000111[解] (1)右移两位后为 0.0011001 左移两位后为1.0010000(溢出)或0.0010000 (2)右移两位后为 1.1100110 左移两位后为0.1100100(溢出)或1.1100100(3)右移两位后为1.1111001 左移两位后为 1.0011000(4)右移两位后为 1.11000001 左移两位后为0.0011100(溢出)或1.00111004-8.分别⽤原码乘法和补码乘法计算X×Y.(1) X=0.11011,Y=-0.11111(2) X=-0.11010,Y=-0.01110[解]原码乘法:(1)|X|=0.11011 → B, |Y|=0.11111 →C,0→A5=1,+ |X|00.1101100.01101 1 0 1 1 1 1 部分积右移1位5=1,+ |X|01.0100000.10100 0 1 0 1 1 1 部分积右移1位5=1,+ |X|01.0111100.10111 1 0 1 0 1 1 部分积右移1位5=1,+ |X|01.1001000.11001 0 1 0 1 0 1 部分积右移1位5=1,+ |X|01.1010000.11010 0 0 1 0 1 0 部分积右移1位所以, |X×Y|=0.1101000101X×Y=-0.1101000101(2) |X|=0.11010 → B, |Y|=0.01110 → C, 0→A 5=0,+ 000.0000000.00000 0 0 0 1 1 1 部分积右移1位5=1,+ |X|00.1101000.01101 0 0 0 0 1 1 部分积右移1位5=1,+ |X|01.0011100.10011 1 0 0 0 0 1 部分积右移1位5=1,+ |X|01.0110100.10110 1 1 0 0 0 0 部分积右移1位5=0,+ 000.1011000.01011 0 1 1 0 0 0 部分积右移1位所以, |X×Y|=0.010*******X×Y=+0.010*******补码乘法:(1)[X]补=0.11011 → B, [Y]补=1.00001 → C, 0 → A [-X]补说明 + [-X]补5C 6=10,+ [-X]补11.0010111.10010 1 1 0 0 0 0 1 部分积右移1位+ [X]补5C 6=01,+ [X]补00.0110100.00110 1 1 1 0 0 0 0 部分积右移1位5C 6=00,+ 000.0011000.00011 0 1 1 1 0 0 0 部分积右移1位5C 6=00,+ 000.0001100.00001 1 0 1 1 1 0 0 部分积右移1位5C 6=00,+ 000.0000100.00000 1 1 0 1 1 1 0 部分积右移1位+ [-X]补 5C 6=10,+ [-X]补所以, [X×Y]补=1.0010111011X×Y =-0.1101000101(2)[X]补=1.00110 → B, [Y]补=1.10010 → C, 0→A [-X]补说明5C 6=00,+ 01位+ [-X]补 00.11010 C 5C 6=10,+ [-X]补00.1101000.01101 0 0 1 1 0 0 1 部分积右移1位+ [X]补 11.00110 C 5C 6=01,+ [X]补11.1001111.11001 1 0 0 1 1 0 0 部分积右移1位+ 0 00.00000 C 5C 6=00,+ 011.1100111.11100 1 1 0 0 1 1 0 部分积右移1位+ [-X]补 00.11010 C 5C 6=10,+[-X]补00.1011000.01011 0 1 1 0 0 1 1 部分积右移1位+ 0 5C 6=11,+ 000.01011所以, [X×Y]补=0.010*******X×Y = 0.010*******4-10.分别⽤原码和补码加减交替法计算X/Y 。

第4章 数值的机器运算

第4章 数值的机器运算

哈尔滨学院2014年秋季学期单元测试试卷课程名称:计算机组成原理单元名称:第四章数值的机器运算一、填空题1.影响并行加法器速度的关键因素是。

2.A、B均为8位二进制数,A=F0H,B=E0H,则A+B= ,A-B= 。

C4.两个补码数相加,采用1位符号位,当时,表示结果溢出。

A.符号位有进位B.符号位进位和最高数位进位异或结果为0C. 符号位为1D.符号位进位和最高数位进位异或结果为15.在双符号位判断溢出的方案中,出现正溢时,双符号位应当为。

A. 00B. 01C. 10D. 116.在定点机中执行算术运算时会产生溢出,其原因是。

A.主存容量不够 B.操作数过大C.操作数地址过大D.运算结果无法表示7. 当定点运算发生溢出时,应进行。

A. 向左规格化B.向右规格化91112.X、C.n+1 D. n+213.原码加减交替除法又称为不恢复余数法,因此。

A.不存在恢复余数的操作B.当某一步运算不够减时,做恢复余数的操作C.仅当最后一步余数为负时,做恢复余数的操作D.当某一步余数为负时,做恢复余数的操作14.在加法器、寄存器的基础上增加部分控制电路实现除法时,用B寄存器存放。

A.被乘数和被除数B.被乘数和除数C. 乘数和被除数D.乘数和除数15.若浮点数用补码表示,判断运算结果是否是规格化数的方法是。

16.20.计算机中的累加器。

A .没有加法器功能,也没有寄存器功能B.没有加法器功能,有寄存器功能C. 有加法器功能,没有寄存器功能D.有加法器功能,也有寄存器功能21.一个C 语言程序在一台32位机器上运行。

程序中定义了3个变量x 、y 和z ,其中x 和z 为int 型,y 为short 型。

当x=127、y=-9时,执行赋值语句z=x+y 后,x 、y 和z 的值分别是A .H z H FFF y FH x 00000076,9,0000007===B .H FFFF z H FFF y FH x 0076,9,0000007===C. H FFFF z H FFF y FH x 0076,7,0000007===D .H z H FFF y FH x 00000076,7,0000007===222325A. y x +B. y x +-C. y x -D. y x --三、判断题1.进位信号串行传递的加法器称为串行加法器。

计组第2章-1编码

计组第2章-1编码

2011-2-16
8
4.1 数据和编码
编码—— ——机器数 2. 编码——机器数 数字电路状态→高低电平→ 数字电路状态→高低电平→0,1←进计算机←任何信息 进计算机← 编码——用 编码——用0,1表示信息的方式,且有效、权威 —— 表示信息的方式,且有效、 1)字符编码——ASCII码(P24表) 字符编码——ASCII码 ——ASCII 24表 2)汉字编码(P24) 汉字编码( 24) 输入— 输入—输入码 存放— 存放—内码 输出— 输出—字形码 3)十进制数字编码——BCD码(8421码) 十进制数字编码——BCD码 8421码 ——BCD
2011-2-16
10
0-3位 位
0000 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
2011-2-16
表 ASCII字符编码表 字符编码表
0001 DEL DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 0010 SP ! " # $ % & ' ( ) * + , . / 0011 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 0100 @ A B C D E F G H I J K L M N O 0101 P Q R S T U V W X Y Z [ \ ] ^ _ 0110 ` a b c d e f g h i j k 1 m n o NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
注意:有符号定点数是研究数的基础。 注意:有符号定点数是研究数的基础。

计算机组成原理-第4章_指令系统

计算机组成原理-第4章_指令系统

7. 段寻址方式(Segment Addressing)
方法:E由段寄存器的内容加上段内偏移地址而形成。
应用:微型机采用段寻址方式,20位物理地址为16位 段地址左移四位加上16位偏移量。
分类:① 段内直接寻址; ② 段内间接寻址; ③ 段间直接寻址; ④ 段间间接寻址;
9 堆栈寻址方式
堆栈:是一组能存入和取出数据的暂时存储单元。
*** 指令字长度
概念 指令字长度(一个指令字包含二进制代码的位数) 机器字长:计算机能直接处理的二进制数据的位数。 单字长指令 半字长指令 双字长指令
多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运 算速度,又占用了更多的存储空间。
*** 指令系统的发展与性能要求
*** 指令系统的发展
指令:即机器指令,要计算机执行某种操作的命令。
指令划分:微指令、机器指令和宏指令。
简单
复杂
指令系统:一台计算机中所有指令的集合;是表征
计算机性能的重要因素。
系列计算机:基本指令系统相同、基本体系结构相同 的一系列计算机。
*** 对指令系统性能的要求
(2)立即数只能作为源操作数,立即寻址主要用来给寄存 器或存储器赋初值。以A~F开头的数字出现在指令中时,前 面要加0。
(3)速度快(操作数直接在指令中,不需要运行总线周期)
(4)立即数作为指令操作码的一部分与操作码一起放在代 码段区域中。
(5)指令的长度(翻译成机器语言后)较长,灵活性较差。
【例】MOV AX, 10H 执行后(AX)=? 其中:这是一条字操作指令,源操作数为立即寻址 方式,立即数为0010H,存放在指令的下两个单元。

计算机组成原理:4-2 数值的机器运算

计算机组成原理:4-2 数值的机器运算

( 小数点不动 !)
左移 ——绝对值扩大
右移—— 绝对值缩小
在计算机中,移位与加减配合,能够实现
乘除运算。
逻辑移位
逻辑移位——无符号数的移位。
逻辑左移:低位添 0,高位移丢。
0 逻辑右移:高位添 0,低位移丢。
0
例:
01010011
逻辑左移 10100110
逻辑右移 00101001
算术移位
较大正数相加 产生进位,影
响符号位
解: [X]补= 0 , 1 0 1 0 + [Y]补= 0 , 1 0 0 1 1,0011
设字长为5
例2:X=-1010 Y=-1011 求 X+Y
解: [X]补= 1, 0 1 1 0
+ [Y]补= 1, 0 1 0 1 0,1011
较大的负数对应较 小的正数补码,相 加无进位,符号位
例: X=-0.1100 Y=-0.1000,求 X+Y=? 解:设字长为5.
[X]补=11. 0100 + [Y]补=11. 1000
10. 1100 结果说明:
负数绝对值太大了对应的补码小,最高数据位向前无进位, 而符号位向前有进位; 两个符号位:10,表示负上溢
双符号位法溢出逻辑表达式为:V=Sf1⊕ Sf2
在模2意义下,任意两数的补码之和等于该两数之和 的补码。 这是补码加法的理论基础。
特点:
不需要事先判断符号,符号位与数值位一起参加 运算,符号位相加后若有进位,则舍去该进位数字。
补码加法运算举例
例: X=+0.1010, Y=+0.0011,求 X+Y 解: 设字长为5.
[X]补=0. 1 0 1 0 + [Y]补=0. 0 0 1 1

计算机组成原理第4章

计算机组成原理第4章
第4章 数值的机器运算
本章学习要求
• 掌握:定点补码加法和减法运算方法 • 理解:3种溢出检测方法 • 理解:补码移位运算和常见的舍入操作方法 • 了解:串行加法器与并行加法器 • 理解:进位产生和进位传递 • 掌握:定点原码、补码乘法运算方法 • 掌握:定点原码、补码加减交替除法运算方法 • 理解:浮点加减乘除运算 • 理解:逻辑运算 • 了解:运算器的基本结构及浮点协处理器
第4章 数值的机器运算
设操作数信号为4、3、2、1、(最低 位信号为1)。向最低位进位的信号为C0、 Gi、Pi 分别是各位的进位产生函数和进位 传递函数。
(1)完善第4位先行进位信号的逻辑表达 式。 C4=G4+P4G3+……
(2)基于操作数,试述表达式中各项的 实际含义。
第4章 数值的机器运算
[-Y]补=[[Y]补]变补
第4章 数值的机器运算
2.补码减法(续)
“某数的补码表示”与“变补”是两个不 同的概念。一个负数由原码转换成补码时,符 号位是不变的,仅对数值位各位变反,末位加 “1”。而变补则不论这个数的真值是正是负, 一律连同符号位一起变反,末位加“1”。[Y]补 表示的真值如果是正数,则变补后[-Y]补所表示 的真值变为负数,反之亦然。
第4章 数值的机器运算
16位单级先行进位加法器
S1 6~S1 3
S1 2~S9
S8~S5
S4~S1
C16 4位CLA C12 4位CLA C8 4位CLA C4 4位CLA
加法器
加法器
加法器
加法器
C0
A1 6~A1 3
A1 2~A9
B1 6~B1 3
B1 2~B9
A8~A5 B8~B5

计算机运算原理

计算机运算原理

计算机运算原理
计算机运算原理是指计算机进行数据处理和运算的基本原理。

计算机运算是通过执行一系列的算术和逻辑操作来实现的。

首先,计算机运算需要使用二进制数来表示和处理数据。

在计算机中,所有的数据都是以二进制形式表示的,其中0和1分别表示逻辑上的“假”和“真”。

其次,计算机运算包括算术运算和逻辑运算。

算术运算是指对数据进行加、减、乘、除等数学运算,而逻辑运算是通过对数据进行与、或、非等逻辑运算来实现不同的逻辑结果。

计算机运算需要使用运算器和控制器来完成。

运算器包括算术逻辑单元(ALU)和寄存器,它们负责进行具体的运算操作,如加法、乘法等。

控制器负责控制和协调运算器的工作,它根据程序中的指令来决定何时执行什么样的运算操作。

计算机运算过程中使用的指令集是通过指令和数据组成的。

指令是计算机执行某个操作的命令,数据则是指令操作的对象。

计算机通过解码指令,提取操作码和操作数,并根据操作码指示的操作对操作数进行相应的处理。

最后,计算机运算还需要考虑数据的存储和传输。

计算机内部的数据存储是通过寄存器和内存来实现的,而数据的传输则需要使用总线进行。

总线是计算机各个部件之间传输数据和信号的通道,它包括数据总线、地址总线和控制总线等。

通过运算器和控制器的协调工作,计算机能够实现各种复杂的运算和处理任务。

计算机运算原理的理解和掌握对于深入了解计算机工作原理和优化程序性能具有重要意义。

《计算机组成原理第4章数值的机器运算

《计算机组成原理第4章数值的机器运算
15
3.移位功能的实现 3.移位功能的实现 在计算机中, 在计算机中 , 通常移位操作由移位寄存 器来实现, 器来实现,但也有一些计算机不设置专门的移 位寄存器,而在加法器的输出端加一个移位器。 位寄存器,而在加法器的输出端加一个移位器。 移位器是由与门和或门组成的逻辑电路( 移位器是由与门和或门组成的逻辑电路(实际 是一个多路选择器) 可以实现直传( 是一个多路选择器 ) , 可以实现直传 ( 不移 左斜一位送(左移一位) 位)、左斜一位送(左移一位)和右斜一位送 右移一位)的功能。 (右移一位)的功能。
10
3.补码加减运算规则
⑴参加运算的两个操作数均用补码表示; 参加运算的两个操作数均用补码表示; 符号位作为数的一部分参加运算; ⑵符号位作为数的一部分参加运算; 若做加法, 则两数直接相加, 若做减法, ⑶ 若做加法 , 则两数直接相加 , 若做减法 , 则 将被减数与减数的机器负数相加; 将被减数与减数的机器负数相加; ⑷运算结果仍用补码表示
第4章数值的机器运算
运算器是计算机进行算术运算和逻辑运 算的主要部件, 算的主要部件,运算器的逻辑结构取决于机器 的指令系统、数据表示方法和运算方法等。 的指令系统、数据表示方法和运算方法等。本 章主要讨论数值数据在计算机中实现算术运算 和逻辑运算的方法, 和逻辑运算的方法,以及运算部件的基本结构 和工作原理。 和工作原理。
8
4.2.2 补码加减运算
1.补码加法 补码加法 两个补码表示的数相加,符号位参加运算, 两个补码表示的数相加,符号位参加运算,且两 数和的补码等于两数补码之和, 数和的补码等于两数补码之和,即: [X+Y]补=[X]补+[Y]补
2.补码减法 补码减法
根据补码加法公式可推出: 根据补码加法公式可推出: [X-Y]补=[X+(-Y)]补=[X]补+[-Y]补 从补码减法公式可以看出,只要求得[-Y] 补 , 就 从补码减法公式可以看出 , 只要求得 可以变减法为加法。 不管Y的真值为正或为负 的真值为正或为负, 可以变减法为加法 。 不管 的真值为正或为负 , 已知 [Y]补求[-Y]补的方法是:将[Y]补连同符号位一起求反, 的方法是: 连同符号位一起求反, 末尾加“ 被称为[Y] 的机器负数, 末尾加 “ 1” 。 [-Y]补 被称为 补 的机器负数 , 由 [Y] 补 的过程称为对[Y] 变补(求补) 求[-Y]补的过程称为对 补变补(求补),表示为 [-Y]补=[[Y]补]变补 9

计算理论第4章图灵机

计算理论第4章图灵机
列表在出现无限多次,因为每一次重复运行,M在每一个串上 都从头开始运行。
41
4.3 通用图灵机
(1) 缓冲域 带的最左面是标记符A,A的右边是|K|+|Γ|+2个单元构成的 缓冲(|K|、|Γ|分别是状态集和字母集的元素数目)。
(2) M的描述字域 缓冲区域右边紧接的是M的描述字dM,以B为开始标 志,以3个0结束。对于转移函数 δ(q,a)=(q,a,d),
数 以图灵机为模型,研究问题的可计算性,即
确定该问题是可计算的、部分可计算的, 还是不可计算的。
4
Overview
4.1 图灵机模型 4.2 图灵机的变化和组合 4.3 通用图灵机 4.4 图灵机可计算性
5
4.1 图灵机模型
6
4.1 图灵机模型
定义4-1 图灵机M = ( K, Σ, Γ, δ, q0, B,F), 其中
设计思想是:每当抹去左边一个0,就在第二个1后面拷贝 n个0。当第一个1的左边全变为B时,带上就为 10n10mn,再抹去 10n1,带上就剩0mn,即为所求。
设计Copy子程序 这个子程序完成在第二个1拷贝n个0的 操作。
第1次被调用
开始ID:B0m-11q10n1
结束ID:B0m-11q50n10n
A∈VN,α∈V*
A,B,C∈VN x,y∈VT*
2
Overview
0型语言
———图灵机
1型语言(CSL) ———线性界限自动机
2型语言(CFL) ———下推自动机
3型语言(正规集)——有限自动机
3
Overview
图灵机所定义的语言类---递归可枚举集合 图灵机所计算的整数函数类---部分递归函
我们用五元组表示为(q, a, q, a, d),将顺序调整为(q, a, a, d, q)。 dM就 是由这样的五元组组成的序列。对于每个五元组中的状态和字符,我们 用其序号的一进表示,其间用0分隔,五元组间用2个0分隔。例如: 若有δ(q2,0)=(q3,2,L),表示成上面定义的五元组是(q2,0,2,L, q3),再用其序号表示为(2,0,2,0,3),在U2的带上表示为 011101011101011110

精品课件-数字信号处理(第四版)(高西全)-第4章

精品课件-数字信号处理(第四版)(高西全)-第4章

点DFT和(4.2.10)式或(4.2.11)式所示的N/4个蝶形运算,
如图4.2.3所示。依次类推,经过M次分解,最后将N点DFT
分解成N个1点DFT和M级蝶形运算,而1点DFT就是时域序列
本身。一个完整的8点DIT-FFT运算流图如图4.2.4所示。
图中用到关系式
。W图N中k / m输入W序Nmk列不是顺序排
In Time FFT,简称DIT-FFT ); 频域抽取法FFT (Decimation In Frequency FFT,简称DIF-FFT)。本节介 绍DIT-FFT
设序列x(n)的长度为N,且满足N=2M,M为自然数。按n 的奇偶把x(n)分解为两个N/2点的子序列
x1(r) x(2r), x2 (r) x(2r 1),
x1
(2l
1)WNk
( /
2l 2
1)
l 0
l 0
N / 41
N / 41
x3 (l)WNkl/ 4 WNk / 2
x4
(l
)WNk
l /
4
l 0
l 0
X 3 (k ) WNk/ 2 X 4 (k )
k 0, 1, , N 1 2
(4.2.9)
第4章 快速傅里叶变换(FFT)
式中
N / 41
r0
2
(4.2.6)
由于X1(k)和X2(k)均以N/2为周期,
kN
WN 2
WNk

,因此X(k)又可表示为
第4章 快速傅里叶变换(FFT)
X (k) X1(k) WNk X 2 (k),
X
(k
N 2
)
X1(k)
WNk
X

计算机运算原理教案

计算机运算原理教案

计算机运算原理教案第一部分,引言。

计算机运算原理是计算机科学中的基础知识,它涉及到计算机如何进行运算、存储数据以及进行逻辑判断。

本教案将介绍计算机运算原理的基本概念和相关知识,帮助学生深入了解计算机的运作原理。

第二部分,计算机运算基础。

1. 二进制系统。

计算机是以二进制系统进行运算的,即所有的数据都以0和1的形式进行存储和计算。

学生需要了解二进制系统的基本概念,包括二进制数的表示方法、二进制加减乘除的运算规则等。

2. 逻辑门。

逻辑门是计算机中的基本组成单元,它可以进行逻辑运算并输出结果。

学生需要了解与、或、非等逻辑门的基本原理和运算规则,理解逻辑门在计算机中的作用。

3. 数据存储。

计算机中的数据存储是通过存储单元来实现的,学生需要了解存储单元的基本结构和工作原理,包括存储单元的地址、数据存储方式等。

第三部分,计算机运算原理。

1. 运算器。

运算器是计算机中负责进行运算的部分,学生需要了解运算器的基本结构和工作原理,包括运算器的算术逻辑单元、寄存器等组成部分。

2. 控制器。

控制器是计算机中负责控制整个运算过程的部分,学生需要了解控制器的基本结构和工作原理,包括控制器的指令执行过程、时序控制等。

3. 存储器。

存储器是计算机中负责存储数据和程序的部分,学生需要了解存储器的基本结构和工作原理,包括存储器的层次结构、存储器的访问方式等。

第四部分,计算机运算原理的应用。

1. CPU的工作原理。

CPU是计算机中的核心部件,它负责进行数据运算和控制整个计算机系统的运行。

学生需要了解CPU的工作原理,包括指令执行过程、数据传输过程等。

2. 内存的工作原理。

内存是计算机中的重要存储部件,它负责存储数据和程序。

学生需要了解内存的工作原理,包括数据的读写过程、内存的地址映射等。

3. 输入输出设备的工作原理。

输入输出设备是计算机与外部世界进行交互的接口,学生需要了解输入输出设备的工作原理,包括数据的输入输出过程、设备的控制方式等。

计算机组成原理第4章浮点数运算方法ppt课件

计算机组成原理第4章浮点数运算方法ppt课件
因此如果求阶码和可用下式完成: [jx]移+[jy]补= 2n+ jx +2n+1+ jy = 2n+ [2n +( jx + jy)] = [jx +
jy]移 (mod 2n+1) 则直接可得移码形式。
同理,当作除法运算时,商的阶码可用下式完成: [jx]移+[-jy]补 = [jx - jy]移
11
5. 溢出判断
在浮点规格化中已指出,当尾数之和(差)出现 01.××…×或10.××…×时,并不表示溢出,只有 将此数右规后,再根据阶码来判断浮点运算结果是否 溢出。
若机器数为补码,尾数为规格化形式,并假设阶符取 2位,阶码取7位,数符取2位,尾数取n位,则它们能 表示的补码在数轴上的表示范围如下图。
浮 点 数 加 减 运 算 流 程 图
16
浮点加减法运算
1. 大型计算机和高档微型机中,浮点加减法运算是由 硬件完成的。低档的微型机浮点加减法运算是由软 件完成的,但无论用硬件实现或由软件实现加减法 运算,基本原理是一致的。
2. 浮点加减法运算要经过对阶、尾数求和、规格化、 舍入和溢出判断五步操作。其中尾数运算与定点加
23
2. 尾数运算
(1)浮点乘法尾数运算 (2)浮点除法尾数运算
24
(1)浮点乘法尾数运算
预处理:检测两个尾数中是否有一个为0, 若有一个为0,乘积必为0,不再作其他操 作;如果两尾数均不为0,则可进行乘法运 算。
相乘:两个浮点数的尾数相乘可以采用定 点小数的任何一种乘法运算来完成。
规格化:相乘结果可能要进行左规,左规 时调整阶码后如果发生阶下溢,则作机器 零处理;如果发生阶上溢,则作溢出处理。

计算机组成原理复习2

计算机组成原理复习2
计算机组成原理复习
主存容量
一个主存储器所能存储的全部信息量称 为主存容量。衡量主存容量单位有两种: ① 字节数。这类计算机称为字节编址的计 算机。每1024个字节称为1K字节 (210=1K),(220=1M),(230=1G)。 ② 字数×字长。这类计算机称为字编址的 计算机。如:4096×16表示存储器有4096 个存储单元,每个存储单元字长为16位。
计算机组成原理复习
写出各种寻址方式的有效地址EA 的计算式(PC为程序计数器,A为 形式地址,Rx为变址寄存器): 寻址方式: 例:立即寻址 EA=(PC) 直接寻址 间接寻址 变址寻址 相对寻址
计算机组成原理复习
习题1:执行一条一地址的加法指令共 需要___ B 次访问内存(含取指令)。
A. 1 B. 2 C. 3 D. 4
计算机组成原理复习第第3章章指令系统计算机组成原理复习专业文档某机字长32位指令单字长指令系统中具有二地址指令一地址指令和零地址指令各若干条已知每个地址长12位采用扩展操作码方式问该指令系统中二地址指令一地址指令零地址指令各最多能有多少条
计算机组成原理
陈锦煌
E-mail:554237327@
A. 4K B. 8K C. 16K D. 24K
计算机组成原理复习
习题4:某计算机存储器按字(16位)编址, 每取出一条指令后PC的值自动+1,说明其 指令长度是___ B。
A. 1字节 B. 2字节 C. 3字节 D. 4字节
计算机组成原理复习
习题5:变址寄存器寻址方式中,若变址 寄存器的内容是4E3CH,指令中的形式地 址是63H,则对应的有效地址是___ D。
计算机组成原理复习
计算机的硬件应由运算器、存储器、控制器、输入设 备和输出设备五大基本部件组成。它们各自的功能是: ① 输入设备:把人们编好的程序和原始数据送到计算 机中去,并且将它们转换成计算机内部所能识别和接 受的信息方式。 ② 输出设备:将计算机的处理结果以人或其他设备所 能接受的形式送出计算机。 ③ 存储器:用来存放程序和数据。 ④ 运算器:对信息进行处理和运算。 ⑤ 控制器:按照人们预先确定的操作步骤,控制整个 计算机的各部件有条不紊地自动工作。

四年级下册数学教案-第四单元用计算器探索规律-苏教版

四年级下册数学教案-第四单元用计算器探索规律-苏教版

四年级下册数学教案-第四单元用计算器探索规律-苏教版一、教学目标1. 让学生通过使用计算器探索规律,培养观察、分析、归纳和总结的能力。

2. 使学生掌握计算器的基本操作,提高计算速度和准确性。

3. 培养学生运用计算器解决问题的意识,激发学习数学的兴趣。

二、教学内容1. 认识计算器及其功能。

2. 学习计算器的基本操作。

3. 利用计算器探索数学规律。

4. 解决实际问题。

三、教学重点与难点1. 教学重点:计算器的基本操作,运用计算器探索数学规律。

2. 教学难点:引导学生发现规律,提高观察、分析、归纳和总结的能力。

四、教学过程1. 导入新课1.1 教师出示计算器,引导学生认识计算器及其功能。

1.2 学生分享自己使用计算器的经验。

2. 学习计算器的基本操作2.1 教师讲解计算器的基本操作方法,如开关机、清屏、输入数字和运算符号等。

2.2 学生跟随教师操作,熟悉计算器的使用。

3. 利用计算器探索数学规律3.1 教师出示一系列算式,引导学生使用计算器计算结果。

3.2 学生观察计算结果,发现规律。

3.3 教师引导学生总结规律,并解释其原因。

4. 解决实际问题4.1 教师出示一些实际问题,引导学生运用计算器解决问题。

4.2 学生分组讨论,共同解决问题。

5. 课堂小结5.1 教师引导学生回顾本节课所学内容,总结计算器的基本操作和探索数学规律的方法。

5.2 学生分享自己的学习心得。

五、课后作业(略)六、教学反思本节课通过引导学生使用计算器探索数学规律,培养了学生的观察、分析、归纳和总结能力。

在教学过程中,要注意关注每一个学生,确保他们都能掌握计算器的基本操作。

同时,要鼓励学生积极参与课堂讨论,提高他们的口头表达能力。

在解决实际问题时,教师要引导学生运用所学知识,提高解决问题的能力。

在今后的教学中,我将继续关注学生的个体差异,因材施教,提高他们的数学素养。

同时,加强与学生的互动,营造轻松愉快的学习氛围,激发他们学习数学的兴趣。

计算机组成原理数据的机器运算

计算机组成原理数据的机器运算

3
1、全加器(FA)
全加器真值表

全加器(FA)是最基本 的运算单元,由它构成 加法器。

全加器有三个输入量: 操作数Ai、Bi、以及低 位传来的进位信号Ci-1 。
全加器有两个输出量: 本位和Si、以及向高位 的进位信号Ci。

Ai 0 0 0 0 1 1 1 1
Bi 0 0 1 1 0 0 1 1
27
2、补码加减溢出的判别
例3、X=1011,Y=111 求X+Y。 解:[X]补=0,1011,[Y]补=0,0111 0,1011 (+11) 0,0111 (+7) 1,0010 例4、X=-1011,Y=-111 求X+Y。 解:[X]补=1,0101,[Y]补=1,1001 1,0101 (-11) 1,1001 (-7 ) 0,1110


参加运算的操作数用补码表 示。 补码的符号位与数值位同时 参加运算。 若做加法,则两数补码直接 相加; 若做减法,用被减数与减数 的机器负数相加。 运算结果为和、差的补码。 注:机器负数等于补码连同 符号位按位求反,末位加1。
26
补码加减示例
例1、A=0.1011, B=-0.1110,求A+B. 解: [A]补 = 0.1011, [B]补 = 1.0010 0.1011 + 1.0010 1.1101 ∴ [A+B]补 = 1.1101 A+B = -0.0011 例2、A=0.1011, B=-0.0010,求A-B. 解: [A]补 = 0.1011, [B]补 = 1.1110, [-B]补 = 0.0010 0.1011 + 0.0010 0.1101 ∴ [A-B]补 = 0.1101 A-B = 0.1101

13计科计算机组成原理考试复习 (1)

13计科计算机组成原理考试复习 (1)


CPU将提供15根地址线A14-A0、8根数据线与 存储器相连;而存储芯片仅有13根地址线、8根数据 线。四个芯片的地址线A12~A0、数据线D7~D0及读 写控制信号 WE 都是同名信号并联在一起;高位地 址线A14、A13经过一个地址译码器产生四个片选信号 CS ,分别选中四个芯片中的一个。
3、在堆栈操作中,压栈操作时做什么操作? 答:压栈操作时SP减1后将数据存入SP指示的存储单 元 。 4、堆栈指针SP的内容是内容? 答:堆栈指针SP的内容是栈顶地址 5、自底向上生成堆栈的进栈时是如何操作的? 答:自底向上生成堆栈的进栈,堆栈的栈底地址大于栈顶 地址,通常栈指针始终指向栈顶的满单元。进栈时, SP的内容需要先自动减1,然后再将数据压入堆栈。 6、自底向上生成堆栈的出栈时是如何操作的? 答:自底向上生成堆栈的出栈时,需要先将堆栈中的数据 弹出,然后SP的内容再自动加1。
3、以下浮点数的表示中,尾数是补码表示时,
判断哪一个符合规格化要求? 1)0.0011110×20 ;答:有2位无效0 2)0.0001011×2-2 ;答:有3位无效0 3)1.1110010×21 ;答:有3位无效0 4)1.0011011×2-4 ;答:规格化 4、以下浮点数的表示中,尾数是原码表示, 判断哪一个符合规格化要求? 1)1.0010011×2-4 ;答:有2位无效0 2)1.1100110×21 ;答:规格化 3)0.0011110×20 ;答:有2位无效0 4)0.0111011×2-2 ;答:有1位无效0
3、
在二进制尾数的浮点数中,为了保持数值 不变,小数点右移2位,阶码要如何处理? 答:二进制尾数小数点右移2位(左规2位), 阶码要减2 (例:0.0025×104 = 0.25×102 = 25) 4、 在二进制尾数的浮点数中,为了保持数值 不变,小数点左移2位,阶码要如何处理? 答:二进制尾数小数点左移2位(右规2位), 阶码要加2 (例:25000×10-3 = 250×10-1 = 25)

计算机组成原理课件第四章计算机中的算术运算

计算机组成原理课件第四章计算机中的算术运算

例:[X]补=0.1101,[Y]补=0.1011,求X*Y=?
解: 部分积
乘数
说明
00.0000 + 11.0011
0. 1 0 1 1 0
YYnnY+1n=+10=10, 加[-X]补
11.0011 → 11.1001 + 00.0000
1. 0 1 0 1 1
右移一位
YnY n+1=11, 加0
当计数器i=n+1时,封锁LDR1和L
DR0控制信号,使最后一步不移位。
原码两位乘法
◦ 两位乘法即从乘数的最低位开始每次取两位乘数与被乘数 相乘得到一次部分积。
◦ Yi-1yi=00,相当于0×x,部分积加0,右移两位 ◦ Yi-1yi=01,相当于1×x,部分积加|x|,右移两位 ◦ Yi-1yi=10,相当于2×x,部分积加2|x|,右移两位 ◦ Yi-1yi=11,相当于3×x,部分积加3|x|,右移两位
采用双符号位的判断方法
每个操作数的补码符号用两个二进制数表示,称为 变形补码,用“00”表示正数,“11”表示负数,左边第 一位叫第一符号位,右边第一位称为第二符号位,两个 符号位同时参加运算,如果运算结果两符号位相同,则 没有溢出发生。如果运算结果两符号位不同,则表明产 生了溢出。“10”表示负溢出,说明运算结果为负数, “01”表示正溢出,说明运算结果为正数。
Zf=Xf+Yf=0+0=0 [Z]原=0 . 10001111 X*Y=0.10001111
原码一位乘法的逻辑电路图
R0存放部分积,R2存放被乘数,R1存放 乘数。
一、 R0清零,R2存放被乘数,R1存放乘数。 乘法开始时,“启动”信号时控制CX置1, 于是开启时序脉冲T,
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

哈尔滨学院2014年秋季学期单元测试试卷课程名称:计算机组成原理 单元名称:第四章 数值的机器运算一、填空题1.影响并行加法器速度的关键因素是 。

2.A 、B 均为8位二进制数,A=F0H ,B=E0H ,则A+B= ,A-B= 。

3.已知某数的补码为,算术左移1位后得 ,算术右移1位后得 。

4.向左规格化的规则为尾数 ,阶码为 。

5.运算器的基本功能室实现 运算和 运算。

二、选择题1.在串行进位的并行加法器中,影响加法器运算速度的关键因素是 。

A .门电路的级延迟B .元器件速度C .进位传递延迟D .各位加法器速度的不同2.并行加法器中每一位的进位产生函数Gi 为 。

A .i iB A • B .i i B A ⊕C .i i i C B A ⊕⊕ D. i i i C B A ++ 3.补码加/减法是指 。

A .操作数用补码表示,两尾数相加/减,符号位单独处理B .操作数用补码表示,符号位和尾数一起参加运算,结果的符号与加/减数相同C .操作数用补码表示,连同符号位直接相加,减某数用加某数的机器负数代替,结果的符号在运算中形成D .操作数用补码表示,由数符决定两尾数的操作,符号位单独处理 4.两个补码数相加,采用1位符号位,当 时,表示结果溢出。

A .符号位有进位B .符号位进位和最高数位进位异或结果为0 C. 符号位为1D .符号位进位和最高数位进位异或结果为15.在双符号位判断溢出的方案中,出现正溢时,双符号位应当为 。

A. 00B. 01C. 10D. 116.在定点机中执行算术运算时会产生溢出,其原因是 。

A .主存容量不够B .操作数过大C .操作数地址过大D .运算结果无法表示7. 当定点运算发生溢出时,应进行 。

A. 向左规格化B .向右规格化C .发出出错信息D .舍入处理 8.8位补码等值扩展为16位后,其机器数位 。

A .011B .00000000C .011D .1019.将用8位二进制补码表示的十进制数-121,扩展成16位二进制补码,结果用十六进制表示为 。

A .0087HB .FF87HC .8079HD .FFF9H10.已知H C X 6]2[=补,计算机的机器字长为8位二进制编码,则=补][X 。

A .8CHB .18H C. E3HD .F1H11.对于二进制数,若小数点左移1位则数值 ,若小数点右移1位则数值 。

A .扩大一倍,扩大一倍B .扩大一倍,缩小一半C .缩小一半,扩大一倍D .缩小一半,缩小一半12.X 、Y 为定点二进制数,其格式为1位符号位,n 位数值位。

若采用Booth 补码一位乘法实现乘法运算,则最多需要做加法运算的次数是 。

A .n-1B .nC.n+1 D. n+213.原码加减交替除法又称为不恢复余数法,因此。

A.不存在恢复余数的操作B.当某一步运算不够减时,做恢复余数的操作C.仅当最后一步余数为负时,做恢复余数的操作D.当某一步余数为负时,做恢复余数的操作14.在加法器、寄存器的基础上增加部分控制电路实现除法时,用B寄存器存放。

A.被乘数和被除数B.被乘数和除数C. 乘数和被除数D.乘数和除数15.若浮点数用补码表示,判断运算结果是否是规格化数的方法是。

A.阶符与数符相同B.阶符与数符相异C.数符与尾数最高有效位相同D.数符与尾数最高有效位相异16.若浮点数用补码表示,一个数的阶码值为7,另一个数的阶码值为9,则需要将阶码值较小的浮点数的小数点。

A. 左移1位B. 右移1位C. 左移2位D. 右移2位17. 4片74181ALU和1片74182CLA相配合,具有传递功能。

A. 串行进位B.组内并行进位,组间串行进位C.组内串行进位,组间并行进位D.组内、组间均为并行进位18.运算器虽由许多部件组成,但核心部件是。

A.算术逻辑运算单元B.多路开关C.数据总线D.累加寄存器19.下列叙述中,错误的是。

A.运算器中通常都有一个状态标志寄存器,为计算机提供判断条件,以实现程序转移B.补码乘法器中,被乘数和乘数的符号都不参加运算C .并行加法器中高位的进位依赖于低位D .在小数除法中,为了避免溢出,要求被除数的绝对值小于除数的绝对值 20.计算机中的累加器 。

A .没有加法器功能,也没有寄存器功能B .没有加法器功能,有寄存器功能 C. 有加法器功能,没有寄存器功能 D .有加法器功能,也有寄存器功能21.一个C 语言程序在一台32位机器上运行。

程序中定义了3个变量x 、y 和z ,其中x 和z 为int 型,y 为short 型。

当x=127、y=-9时,执行赋值语句z=x+y 后,x 、y 和z 的值分别是A .H z H FFF y FH x 00000076,9,0000007===B .H FFFF z H FFF y FH x 0076,9,0000007=== C. H FFFF z H FFF y FH x 0076,7,0000007=== D .H z H FFF y FH x 00000076,7,0000007===22.浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判断溢出等步骤。

设浮点数的阶码和尾数均采用补码表示,并且位数分别为5位和7位(均含2位符号位)。

若有两个数32/2927⨯=X ,8/525⨯=Y ,则用浮点加法计算Y X +的最终结果是 。

A. 00111 1100010B. 00111 0100010C. 01000 0010001D. 发生溢出23.假定有4个整数用8位补码分别表示为FEH r =1、H F r 22=、H r 903=、H F r 84=。

若将运算结果存放在一个8位寄存器中,则下列运算会发生溢出的是 。

A. 21r r ⨯B. 32r r ⨯C. 41r r ⨯D. 42r r ⨯24.某字长为8位的计算机汇总,已知整型变量x 、y 的机器数分别为10000100][=补X ,10110000][=补Y 。

若整型变量2/2y x z +⨯=,则z 的机器数为。

A. 1 1000000B. 0 0100100C. 1 0101010D. 溢出25.若103=x ,25-=y ,则下列表达式采用8位定点补码运算实现时,会发生溢出的是 。

A. y x +B. y x +-C. y x -D. y x --三、判断题1.进位信号串行传递的加法器称为串行加法器。

2.进位产生函数为i i i B A P ⊕=。

3.运算器中设置了加法器后就没有必要设置减法器。

4.浮点数对阶的原则是大阶向小阶看齐。

5.运算器不仅可以完成数据信息的算逻运算,还可以作为数据信息的传送通路。

6.80387被称为协处理器,本身不能单独使用 四、简答题1.简述浮点运算中溢出的处理问题。

2.试述先行进位解决的问题及基本思想。

3.串行加法器和并行加法器有何不同影响并行加法器的关键因素是什么设低位来的进位信号为0C ,请分别按下列两种方式写出4C 、3C 、2C 、1C 的逻辑表达式。

(1)串行进位方式 (2)并行进位方式五、分析题1.某加法器采用组内并行、组间并行的进位链,4位一组,写出进位信号C6的逻辑表达式。

2.写出一位2421码加法器的校正函数。

六、计算题1.已知X 和Y ,用变形补码计算X+Y 和X-Y ,同时指出运算结果是否溢出 (1)3231,3227==Y X(2)1611,1613-==Y X 2.已知1011000.1][=补X ,0100110.1][=补Y 。

计算补补][21][2Y X +3.已知10010.0=X ,10101.0-=Y ,用补码一位乘法计算Y X ⨯,要写出详细的运算过程。

4.已知1000.0=X ,1010.0-=Y ,用补码加减交替法求?=YX5.已知25.7-=X ,5625.28=Y ,(1)将X 、Y 分别转换成二进制浮点数(阶码占4位,尾数占10位,各包含一位符号位)。

(2)用变形补码,求?=-Y X6.有两个浮点数)101.0(210⨯=X ,)111.0(201-⨯=Y ,设阶符1位,阶码2位,数符1位,尾数3位,用补码运算规则计算Y X +的值。

七、设计题1.利用CLA 加法器或BCLA 加法器以及CLA 电路设计加法器,要求实现如下功能: (1)构建20位单级先行进位加法器 ①使用5个4位的CLA 加法器; ②使用4个5位的CLA 加法器;分别画出连接简图(请特别标明进位信号)。

比较这两种方法得到的最长进位延迟时间有无区别。

(2)构建20位二级先行进位加法器。

①使用5个4位的BCLA 加法器和1个5位的CLA 电路; ②使用4个5位的BCLA 加法器和1个4位的CLA 电路;分别画出连接简图(请特别标明进位信号)。

比较这两种方法得到的最长进位延迟时间有无区别。

2.利用74181和74182芯片设计如下3种方案的32位ALU 。

(1)行波进位方案; (2)二级先行进位方案; (3)三级先行进位方案。

八、综合应用题假定在一个8位字长的计算机中运行下列类C程序段:Unsigned int x=134;Unsigned int y=26;Int m=x;Int n=y;Unsigned int z1=x-y ;Unsigned int z2=x+y ;Int k1=m-n ;Int k2=m+n;若编译器编译时将8个8位寄存器R1~R8分别分配给变量x、y、m、n、z1、z2、k1、k2。

请回答下列问题。

(提示:带符号整数用补码表示)(1)执行上述程序段后,寄存器R1、R5和R6的内容分别是什么(用十六进制表示)(2)执行上述程序段后,变量m和k1的值分别是多少(用十进制表示)(3)上述程序段设计带符号整数加/减、无符号整数加/减运算,这4种运算能否利用同一个加法器及辅助电路实现简述理由。

(4)计算机内部如何判断带符号整数加/减运算的结果是否发生溢出上述程序段中,哪些带符号整数运算语句的执行结果会发生溢出。

相关文档
最新文档