第3章 数值的机器运算
数值计算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.。
第三章 运算方法
第三章运算方法一名词解释(1)溢出——在运算过程中如出现数据超过这个数表示范围的现象,称溢出。
(2)运算器——运算器是一个用于信息加工的部件,又称执行部件。
它对数据进行算术运算和逻辑运算。
(3)并行加法器——全加器的位数与操作数的位数的加法器称并行加法器。
(4)进位链——进位信号的产生与传递的逻辑结构称为进位链。
(5)进位产生函数——当xi与yi都为1时,Ci=1,即有进位信号产生,所以将xiyi称为进位产生函数,以Gi表示。
(6)进位传递函数——当xi⊕yi=1、Ci-1=1时,则Ci=1。
这种情况可看作是当xi⊕yi=1时,第i-1位的进位信号Ci-1可以通过本位向高位传送。
因此把xi⊕yi称为进位传递函数,以Pi表示。
(7)桶形移位器——在选择电路的控制下可以实现左移、右移、直送操作的具有移位功能的电路。
一.选择题1.大部分计算机内的减法是用_____实现。
A.将被减数加到减数中B.从被减数中减去减数C.补码数的相加 D.补码数的相减2.原码加减法是_____。
A.操作数用原码表示,连符号位直接相加减B.操作数用原码表示,尾数直接相加减,符号位单独处理C.操作数用原码表示,根据两数符号决定实际操作,符号位单独处理D.操作数取绝对值,直接相加减,符号位单独处理3.补码加减法是指______。
A.操作数用补码表示,两尾数加减,符号位单独处理,减法用加法代替B.操作数用补码表示,符号位和尾数一起参加运算,结果的符号与加减相同C.操作数用补码表示,连符号位直接相加减,减某数用加负某数的补码代替,结果的符号在运算中形成D.操作数用补码表示,由数符决定两尾数的操作,符号位单独处理4.在原码加减交替除法中,符号位单独处理,参加操作的数是_____。
A.原码 B.绝对值C.绝对值的补码 D.补码5.两补码相加,采用1位符号位,则当_____时,表示结果溢出。
A.最高位有进位 B.最高位进位和次高位进位异或结果为0C.最高位为1 D.最高位进位和次高位进位异或结果为16.在下列有关不恢复余数法何时需恢复余数的说法中,正确的是_____。
第三章 计算机的运算方法
1.求X+Y: (1)将X=-0.1010,Y= -0.0010转换成补码.
[X]补=1.0110 [Y]补=1.1110 1.0110
产生进 位,将进 位去掉
(2)求[X+Y]补
[X+Y]补=[X]补+[Y]补 =1.0110+1.1110 =1.0100 (3)求[X+Y]原
+1.1110
11.0100
3.1 数据的表示方法和转换 3.2 带符号数在计算机中的表示方法及运算(重点) 3.3 数据校验码(重点)
3.1 数据的表示方法和转换
一.十进制,二进制,八进制,十六进制的功能及特点.
1.十进制数是人们最习惯使用的数值,在计算机中一 般把十进制数作为输入输出的数据形式。 特点: 用十个数码表示——0、1、2、3、4、5、6、7、8、9 遵循“逢十进一”的规 则 2.二进制数使用的数码少,只有0和1, 在计算机内部存 储和运算中使用,也表示计算机元件的状态,运算简 单,工作可靠。 特点: 用两个数码表示——0、1 遵循“逢二进一”的规
要求 数1 数2 实际操作 结果符号
加法 加法 加法 加法
正 正 负 负
正 负 正 负
加 减
正 可正可负
减
加
可正可负
负
在计算机中正+正/负+负结果符号位很好确定, 但正+负/负+正结果符号位很难确定 ,容易出错。 计算机将原码转换成反码或补码进行计算.
3. 反码表示法
(1) 形式:正数的反码与原码相同,负数的反码为其原码 的符号位不变,其余各位按位变反,即0变为1,1变为0
写成(DCD)16,且与二进制转换方便,因此十六进制数 常用来在程序中表示二进制数或地址。
计算机组成原理——第3章2之信息编码及数据表示
第3章信息编码与数据表示• 3.4 浮点机器数表示方法– 3.4.1 浮点数的格式•浮点数的典型格式N=M*RE –阶符,数符。
阶码一般采用移码和补码表示。
尾数一般采用原码和补码表示。
–E :定点整数。
E 决定了浮点数N 的绝对值;E S 不是N 的符号–M :定点小数。
M S 决定了浮点数N 的符号;M S =0,则N 为正数,M S =1,则N 为负数 E 1E 2……E m .阶码数值尾数数值. M 1M 2……M nE S M S 阶符数符IEEE 754 国际标准常用的浮点数格式有3种,阶码的底隐含为2短实数又称为单精度浮点数,长实数又称为双精度浮点数,临时实数主要用于进行浮点数运算,保存临时的计算结果。
单精度浮点数和双精度浮点数的阶码采用移码,但不同的是:它的偏移量不是27和210,而是27-1=127和210-1=1023;尾数使用原码表示,且采用隐藏位,也就是将规格化浮点数尾数的最高位的“1”省略,不予保存,认为它隐藏在尾数小数点的左边。
由此,推导出它们的真值计算公式如上表,其中E为阶码ESE1……Em的加权求和的值。
Ms Es E1…E8M1M2…M23Ms Es E1…E11M1M2…M52IEEE754单精度格式IEEE754双精度格式例 3.10:若X 和Y 均是IEEE 754 标准的单精度浮点数,若X 浮点数的存储形式为41360000H ,求X 的真值。
若Y=-135.625,求Y 的浮点数表示。
解:(1)[X]浮= 0100 0001 0011 0110 0000 0000 0000 0000 B按照表3-3中的真值计算公式及IEEE 754 标准的单精度浮点数格式,可以知道:M S =0 ,E=E S E 1……E m = 10000010 B = 130 D ,1. M 1M 2…… M n = 1.011 0110 0000 0000 0000 0000 ,所以,X =(-1)MS ×(1.M 1M 2…… M n )×2E -127= (-1)0×(1. 011 011)×2130-127;X=(+1011.011)2= (+11.375 )10(2)Y=(-10000111.101)2;Y =-1. 0000111101×27=(-1)1×(1.0000111101)×2134-127;因此:M S =1 ,E=E S E 1……E m = 134 D = 10000110 B ,1.M1 M2…… Mn = 1. 000 0111 1010 0000 0000 0000 ,求出:[Y]浮= 1 10000110 000 0111 1010 0000 0000 0000 B = C307A000 H–3.4.2 规格化定义:采用规格化形式表示浮点数可以提高精度。
大学计算机基础简明教程(第3版)教学课件3
R进制数用 r个基本符号(0,1,2,…,r-1) 表示数码
R进制数N 展开式可表示为:
N=an-1×rn-1+an-2×rn-2+…+a0×r0+a-1×r-1+…+a-m×r-m
n 1
ai r i
im
6
二进制位权表示:
不足补零
问题:
1 101 101 110.110 101(B)= 1556.65(O) 已知456.78(D)
15 5 6 6 5
如何快速地转换成
11 0110 1110.1101 01(B)=36F.D4(H) 二、八、十六进制?
36 F D4
10
二进制、八进制、十六进制数间的关系
八进制 对应二进制
输出设备
内存
各种处理
二/十进制转换
数值
西文字形码
西文
汉字字形码
汉字
数/模转换
声音、图像
3
3.1数制与转换
4
3.1.1进位计数制
十进制数的表示,如678.34的位权展开式 678.34=6×102+7×101+8×100 +3×10-1+4×10-2
数码
基数
权
问题: 七进制数4532.1的位权展开式?
职称编码
教师 科研 工程
教授 011 研究员 061 教授级高工 081
副教授 012 副研 062 高工
082
讲师 013 助研 063 助教 014 见习 064 未定职 019 未定职 069
工程师 助工 未定职
083 084 089
第三章__机器数的表示
3) 浮点数的模4补码表示如何判断溢出
溢出:当尾数用模4补码表示时,符号位为01 或10时,表示尾数溢出。尾数溢出不能说明 浮点数溢出,要进行判断。 判断溢出的步骤及例题如P39 讲:
00
11 00
001
001 111
01
10 01
0000
1000 0100
右规处理 右规处理 右规处理
当x ≥0时, x0=0,则x= [x]补 当x ≤0时, x0=1,则x= -(2n –1-[x]补+1) 结论:X为正时,真值等于其补码 X为负时,数值等于其补码按位取反加1
例:P42例3.19
讲:n=8, x0=1 x= -(28 –1-[x]补+1)=-1100110
规格化:表示尾数时对应真值的小数点后第一位应 是1 综上:模4补码规格化形式为形如00.1·或11.0·的样 · · · · 式 非规格化形式如00.0 ·或11.1 ·,则可用左规方法 · · · · 规格化处理
00 010 00 0100
左规处理
00
001
00
1000
计算机组成原理
第三节 变形码、移码和浮点数表示
2) 负数的反码 真值x=-11010,则[x]反=[-11010]反=100101 即: [x]反=2n-1+x (-2n-1 <x< 0) 3) 0的反码 正0的反码 [x]反=[+00000]反=000000 负0的反码 [x]反=[-00000]反=111111
计算机组成原理
第二节 定点数的原码、反码和补码
第三章 机器数的表示
1. 机器数的特点
2. 定点数的原码、反码和补码
3. 变形码、移码和浮点数表示
计算机组成原理课程教案
计算机组成原理课程教案二00九年九月上海建桥学院计算机组成原理课程教案周次 1 第 1 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次 1 第 2 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次 2 第 3 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次 2 第 4 次课学时2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案计算机组成原理课程教案周次 3 第 6 次课学时 2 教案设计人丁纪凯、范新民计算机组成原理课程教案周次4 第7 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次4 第8 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次5 第9 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次 5 第10 次课学时 2 教案设计人丁纪凯、范新上 海 建 桥 学 院计算机组成原理课程教案周次 6 第 11 次课 学时 2 教案设计人 丁纪凯、范新上海 建 桥 学 院计算机组成原理 课程教案周次 6 第 12 次课 学时 2 教案设计人 丁纪凯、范新计算机组成原理课程教案周次7 第13 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次7 第14 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次8 第15 次课学时 2 教案设计人丁纪凯、范新民上海建桥学院计算机组成原理课程教案周次8 第16 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次9 第17 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次9 第18 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次10 第19 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次10 第20 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次11 第21 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次11 第22 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次12 第23 次课学时 2 教案设计人丁纪凯、范新民计算机组成原理课程教案周次12 第24 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次13 第25 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次13 第26 次课学时 2 教案设计人丁纪凯、范新上 海 建 桥 学院计算机组成原理 课程教案周次 14 第 27 次课 学时 2 教案设计人 丁纪凯、范新上海建桥学院计算机组成原理课程教案计算机组成原理课程教案周次15 第29 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次15 第30 次课学时 2 教案设计人丁纪凯、范新民计算机组成原理课程教案周次16 第31 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次16 第32 次课学时 2 教案设计人丁纪凯、范新。
计算机原理第三章运算方法和运算器综合练习
计算机原理第3章运算方法和运算器综合练习一、选择题知识点:定点补码的加法,减法,不带符号数的运算,溢出 P261、[X]补+[Y]补=[X+Y]补(mod 2n)2、[X-Y]补=[X+(-Y)]补= [X]补+[-Y]补(mod 2n)3、[-Y]补=[[Y]补]变补(注:连同符号位一起变反加1的过程叫变补或求补。
)4、判断溢出条件: C S+1和C S相异时溢出当C S+1C S=00或 C S+1C S=11时不产生溢出。
当C S+1C S=01或C S+1C S=10时则产生溢出。
1、计算机中实现减法运算使用的方法是()A.从被减数中减去减数 B.从减数中减去被减数再求反C.转换为补码的加法运算 D.依减数的形式再选择一种适当的方法2、定点数作补码加减运算时,其符号位是( )A.与数位分开进行运算B.与数位一起参与运算C.符号位单独作加减运算D.两数符号位作异或运算3、补码加减法运算是()A .操作数用补码表示,两数的尾数相加减,符号位单独处理,减法用加法代替B .操作数用补码表示,符号位与尾数一起参加运算,结果的符号与加减所得相同C .操作数用补码表示,连同符号位直接相加减,减某数用加负某数的补码代表,结果的符号在运算中形成D .操作数用补码表示,由数符决定两尾数的操作,符号位单独处理4、执行二进制算术运算11001001+00100111,其运算结果是()。
A) 11101111 B) 11110000 C) 00000001 D) 101000105、已知X的补码为11101011,Y的补码为01001010,则X+Y的补码为()。
A、10100001B、11011111C、00110101D、溢出6、已知X的补码为11101011,Y的补码为01001010,则X-Y的补码为()。
A、10100001B、11011111C、10100000D、溢出7、下面关于溢出的描述正确的是()A 溢出就是进位B 溢出是指运算结果的最高位向更高位进位或借位C 溢出与补码运算中的模丢失是一个概念D 溢出主要用于判断带符号的运算结果是否超过数的表示范围8、定点运算器运算时产生溢出的原因是()。
第3章数制与码制.ppt
同样,对于定点小数,若小数部分的位数为m,则它的反 码一般表示为:
N
0≤N<1
[N]反= (2-2-m)+N -1<N≤0
3. 补码
❖ 补码又称为“对2的补数”。在补码表示中,正 数的表示同原码和反码的表示是一样的,而负数 的表示却不同。对于负数,其符号位为1,而数 值位是将原码按位取反后,再在最低位加1。例 如两个带符号的二进制数分别为N1和N2,其真值 形式为:
二、补码运算
❖பைடு நூலகம்
[N1+N2]补=[N1]补+[N2]补 ❖ [N1-N2]补=[N1]补+[-N2]补 ❖ 补码的加、减运算规则是:两数和的补码等于两数的
补码之和,而两数差的补码也可以用加法来实现。运 算时,符号位和数值位一样参加运算,如果符号位产 生进位,则需将此进位“丢掉”。运算结果的符号位 为0时,说明是正数的补码;运算结果的符号为1时, 说明是负数的补码, 应对结果再求补码才得原码。 下面举例说明。例 已知N1=-0.11001, N2=0.00100, 求[N1+N2]补
结束
补充: 数制和码制
放映
§1. 数制 §2. 不同数制间的转换 §3. 二进制代码 §4. 字符编码
2020/2/7
1
§1. 数制
结束 放映
数码:由数字符号构成且表示物理量大小的数
字和数字组合。
数制:数制是一种计数的方法 ,它是计数进 位制的简称。
1. 十进制
数字符号(数码):0、1、2、3、4、5、6、7、8、9 计数规则:逢十进一 基数:10 权:10的幂
12
2020/2/7
表1-1
十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
第三章 数据类型、运算符及表达式§31 字符及标识符
2关系运算符
比较两个操作数的大小的运算符,称为关系运算符。 关系运算的表达式,称为关系表达式。 例如, 3+5 > 7-4 关系表达式也有它的值。 如: 8 > 3, 该关系成立,因此关系表达式的值为真, 反之, 其值为假。 在C语言中,用数值1表示真,用数0表示假。 如,7 == 2,关系表达式为假,其值为0。 关系运算符的种类和表达式如下:
•
*C 语言提供的长整数的表示方法可以用来扩大整数的取值 范围. – 例如, 41l, 037l, 0x1fL 字母后面的l 或 L ,表示该数是长常数., 上面三个数,分别是十进制、八进制、十六进制长整数。 一个在整数中放不下的普通整数也被作为长整数,
因此, 把其后紧跟有 l 或 L 的整数叫显式长整数. • 在16位字长的机器上,长整数的位数是 32 位 ( 增长一倍 )。 故长十进制整数取值范围为 -2147483648 到 2147483647。 (2)整型变量: • 基本整型 int 如: int x; • 长整型 long 如: long int y; 或 long y ; • 无符号 unsugend 如: unsigend int z; 或 unsigend z。
• 关键字
具有固定意义的标识符,用户不能用作为自己的标识符, 它们共有32个,除符号常量外都用小写字母表示,就其用途 分五类。 (1) 数据类型 int char float double short ... (2) 存储类型 extern static register auto typedef (3) 控制语句 if else for while do .... (4) 运算符 sizeof (5) 符号常量 EOF BOF .... *它们的含义后面将会络续提到。 * 用户定义的标识符,不能和关键字同名。
计算机组成原理复习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。
计算机组成原理复习
计算机的硬件应由运算器、存储器、控制器、输入设 备和输出设备五大基本部件组成。它们各自的功能是: ① 输入设备:把人们编好的程序和原始数据送到计算 机中去,并且将它们转换成计算机内部所能识别和接 受的信息方式。 ② 输出设备:将计算机的处理结果以人或其他设备所 能接受的形式送出计算机。 ③ 存储器:用来存放程序和数据。 ④ 运算器:对信息进行处理和运算。 ⑤ 控制器:按照人们预先确定的操作步骤,控制整个 计算机的各部件有条不紊地自动工作。
第三章题库
计算机组成原理题库第3章信息表示与运算基础一、判断题1.在数字计算机中所以采用二进制是因为二进制的运算最简单。
2.在所有的进位计数制中,整数部分最低位的权都是1。
3.某R进位计数制,其左边一位的权是其相邻的右边一位的权的R倍。
4.计算机表示的数发生溢出的根本原因是计算机的字长有限。
5.表示定点数时,若要求数值0在计算机中唯一地表示为全0,应采用补码。
6.浮点数的取值范围由阶码的位数决定,而精度由尾数的位数决定。
7.CRC校验码的生成和检验大多采用软件实现。
8.若浮点数的尾数用补码表示,那么规格化的浮点数是指尾数数值位的最高位是0(正数)或是1(负数)。
9.在实际应用中,奇偶校验多采用奇校验,这是因为奇校验中不存在全“0”代码,在某些场合下更便于判别。
10.显示图形时要经过复杂的数学计算,因此占用的时间要比位图图像的时间长。
二、选择题1.下列各种数制的数中最小的数是。
A.(101001)2 B.(101001)BCD C.(52)8 D.(233)H2.下列各种数制的数中最大的数是。
A.(1001011)2 B.75 C.(112)8 D.(4F)H3.1010AH是。
A.表示一个二进制数 B.表示一个十六进制数C.表示一个十进制数 D.表示一个错误的数4.二进制数215转换成二进制数是(1),转换成八进制数是(2),转换成十六进制数是(3)。
将二进制数01100100转换成十进制数是(4),转换成八进制数是(5),转换成十六进制数是(6)。
(1)A.11101011B B.11101010B C.10100001B D.11010111B(2)A.327 B.268.75 C.252 D.326(3)A.137H B.C6H C.D7H D.EAH(4)A.101 B.100 C.110 D.99(5)A.123 B.144 C.80 D.800(6)A.64 B.63 C.100 D.0AD5.ASCII码是对(1)进行编码的一种方案,它是(2)的缩写。
计算机硬件技术基础-计算机的运算基础
求98+45。
[98]补 = 0 1100010 +[45]补 = 0 0101101 1 0001111 = [-113]补 Cin=0,Cout=1,OF= Cin⊕Cout=1,有溢出,结果错误。
溢出与进位
进位是指运算结果的最高位向更高位产生
的进位。
进位与溢出是两个不同性质的概念。 溢出是针对有符号数而言的,对于无符号
码制之间的关系
ASCII码一般在计算机的输入输出设备中使用,
二进制码和BCD码则在运算、处理过程中使用。
计算机在解决实际问题时,常常需要在几种机器
码之间进行转换。
(2)汉字编码
在计算机中,通常用两个字节表示一个汉字。为了与
西文字符的编码相区别,把表示一个汉字的两个字节 的最高一个二进制位设定为1,与ASCII码相区别。 这 种 汉 字 编 码 方 案 的 编 码 集 最 多 编 码 数 量 为 128*128个,称为汉字机内码。
[+4]反
[-4]反
= 0 0000100
= 1 1111011
n位反码表示数值的范围是:
-(2n-1-1)--- +(2n-1-1) 数0的反码有两种不同形式 [+0]反 =0 0000000 [-0]反 =1 1111111
反码还原为真值:[X]原 = [[X]反]反
(2)带符号数机器数的表示方法(续)
n-1-1)
n位原码表示数值的范围是:
n-1-1)---
数0的原码有两种不同形式
[+0]原=0 0000000
[-0]原 =1 0000000
原码表示简单,真值转换方便,减法不方便。
(2)带符号数机器数的表示方法(续)
第3章 (3.3 二进制乘法运算)
●
8/23
8
变换布斯公式:按机器执行顺序求出每一步的部分积。 ★ 变换布斯公式:按机器执行顺序求出每一步的部分积。 =0 [P0]补=0 {[P [P1]补={[P0]补+(Yn+1-Yn)[X]补}2-1 (Yn+1=0) {[P [P2]补={[P1]补+(Yn-Yn-1)[X]补}2-1 … [Pi]补={[Pi-1]补+(Yn-i+2-Yn-i+1)[X]补}2-1 {[P … [Pn]补={[Pn-1]补+(Y2-Y1)[X]补}2-1 {[P {[P X·Y] [Pn+1]补={[Pn]补+(Y1-Y0)[X]补}=[X·Y]补 总结:在上一步的部分积上, 总结:在上一步的部分积上,加(Yi+1-Yi)[X]补(i=n,…1,0), , 再右移1位 得到新部分积。 再右移 位,得到新部分积。
6/23
6
★ 校正法 设:被乘数[X]补=X0.X1X2…Xn, 被乘数[ ] 乘数[ ] 乘数[Y]补=Y0.Y1Y2…Yn, n 则:[X·Y]补=[X]补·(-Y0+ ∑ Yi 2-i) :[ ] [ ] i=1
=
●
若先按原码那样直接乘; 若先按原码那样直接乘; 若乘数Y为正,则结果不需校正; 若乘数 为正,则结果不需校正; 为正 若乘数Y为负,则结果加一个校正量(- 若乘数 为负,则结果加一个校正量(- [X]补)。 为负
15/23 15
●
●
●
例:X=-0.111111,Y=0.111001,计算[X Y]原。 =-0.111111, 0.111111 0.111001,计算[X·Y] [X 解:B=|X|=000.111111,-B=111.000001, B=|X|=000.111111,-B=111.000001, ,-B=111.000001 +2B=001.111110
计算机组成原理第3章
补码加、减运算举例
【例】已知x =-0.10111,y=-0.10001,求 1/2(x+y) 。 解: ∵[x]变补=11.01001,[y]变补=11.01111, ∴[ 1/2x]变补=11.10101,[ 1/2y]变补=11.10111;[ 1/2x] 变补是对[x]变补右移一位得到的,由于移位时丢掉了最低位1, 所以对[x]变补右移一位得到的结果(11.10100)进行修正, 即在最低位加1,便得到[ 1/2x]变补。 [ 1/2(x+y)]变补= [ 1/2x]变补+[ 1/2y]变补=11.10101+ 11.10111=11.01100 溢出判断:由于结果的双符号位相同,未产生溢出,运算结果正 确
2、补码加、减运算具体实现
补码表示的数的加减运算可以采用同一个电路实现。其核 心部分是全加器(运算电路的延迟时间
则全加器的Si的时间延迟为6T(每级异或门的延迟为3T),Ci+1的 时间延迟为5T。 则:一个n位的行波进位加法器的时间延迟ta为: ta=n×2T+9T
原码一位乘法举例
举例:假定 X=0.1101 Y=0.1011
原码一位乘法实现电路
实现原理框图:
Cj A Af CR 加法器 =1 Cn C Cn 移 位 脉 冲
&
& Bf C f Cn CT Q
启动
时钟脉冲
B
结束
2.2 2、原码两位乘法原理
两位乘数的取值可以有四种可能组合,每种组合对应于以下操作: 00 相当于0×X,部分积Pi右移2位,不进行其它运算; 01 相当于1×X,部分积Pi+ X后右称2位; 10 相当于2×X,部分积 Pi+ 2X后右移2位; 11 相当于3×X,部分积 Pi + 3X后右移2位。 上面出现了 + 1X, + 2X, + 3X 三种情况,+X 容易实现,+2X可把X左移1 位得2X,在机器内通常采用向左斜1位传送来实现。可是+3X一般不能一次完成, 如分成两次进行,又降低了计算速度。解决问题的办法是备: 以 +(4X-X) 来 代替 +3X运算,在本次运算中只执行 -X, 而 +4X 则归并到下一步执行,因为 下一步运算时,前一次的部分积已右移了两位,上一步欠下的 +4X 在本步已 变成 +X。实际线路中要用一个触发器C来记录是否欠下+4X的操作尚未执行, 若是,则1→C。因此实际操作要用Yi-1 Yi C三位的组合值来控制乘法运算操 作,运算规则如表2.12所示。
计算机组成原理基础-孙德文课后习题解答
计算机组成基础习题详解(初稿)孙德文上海交通大学软件学院2009.3第1章计算机系统概论1.1 数字计算机和模拟计算机的区别?解:电子数字计算机的特点是数据由离散量来表示,是对离散变量进行处理和运算的解算装置。
电子模拟计算机的特点是数据由连续量来表示,是对连续变量进行运算的解算装置。
在电子模拟计算机中,变量为连续变化的直流电压、电流或电荷。
1.2 说明冯·诺依曼计算机的设计思想?写出冯·诺依曼计算机的主要组成部分?解:冯·诺依曼计算机的设计思想是:提出了“存储程序”的概念,程序设计者按计算要求编制好程序,将程序和运行程序中所用的数据以二进制代码的形式存入计算机的存储器中,由计算机自动执行程序。
使电子计算机有了通用性,只要能写出正确的指令,计算机执行时就无须人工干预。
冯·诺依曼计算机的主要组成部分是:运算器、控制器、存储器、输入设备和输出设备。
其中运算器和控制器合称“中央处理机”(或称为CPU,Central Processing Unit),CPU与存储器(内存储器)合称为“主机”,而输入设备和输出设备合称为“外部设备”。
1.3 描述计算机的发展过程及应用范围?解:电子数字计算机从1946年第一台ENIAC机至今可分为4代:第一代——电子管计算机;第二代——晶体管计算机第三代——集成电路计算机第四代——大规模和超大规模集成电路计算机应用范围1.4 计算机软件的组成?并举例说明。
解:计算机的主要应用领域包括:数值计算、数据处理、计算机控制、计算机辅助设计/计算机辅助制造和人工智能等。
1.5 说明计算机系统的层次结构及各层次结构的特点?解:计算机系统的层次结构共分8级,从L0~L7,其中:L0为硬联逻辑,实现微指令的控制时序,是计算机系统硬件的内核;L2为机器语言级计算机,该级的机器语言就是该计算机的指令系统;L3为操作系统,为用户提供一个操作环境;L4为汇编语言级计算机,该级的机器语言是汇编语言,由相应级的计算机进行解释、执行;L5为高级语言类计算机,该级的机器语言是各种高级语言,该级计算机基本上脱离了物理计算机,供程序员使用;L6 为应用语言计算机,该级的机器语言是面向非计算机专业人员直接使用的应用语言;L7为应用系统分析和设计,是系统总体分析级,用以建立数学模型和算法,确定系统配置。
第3章 人工智能基础知识——机器学习与算法
有无资金流动异常
需监控账户 数据无异常
需监控账户 数据有异常
账户信息 清晰稳定 并且长时 间无变化
账户出现异常数据 无违法证据
账户出现异常数据 存疑需进一步分析
无监督学习的应用 • 案例2:用户细分
案例2:用户细分 这个对于广告平台很有意义,我们不仅把用 户按照性别、年龄、地理位置等维度进行用 户细分,还可以通过用户行为对用户进行分 类。 通过很多维度的用户细分,广告投放可以更 有针对性,效果也会更好。
人工智能常用的算法——仿生类
遗 传 和 进 化 算 法
人 工 免 疫 算 法
萤 火 虫 算 法
智 能 蚁 群 算 法
粒 子 群 算 法
人 工 鱼 群 算 法
人 工 蜂 群 算 法
按
决策树(Decision Tree)类
照
模 型
线性分类器类
训
练
方 式
无监督学习类算法
人工神经网络
不 同
聚类分析(Cluster analysis)类
人工智能基础知识
测试数据
邮件Xi
发现规律 规则
1. 发件人邮件地址异常 2. 标题含有低价促销信息 3. 低俗信息 4. ……
测试
结果评估
Yi:垃圾邮件or正常
机器学习主 流分为: 监督学习 无监督学习 强化学习
• 机器学习领域有两种主要类型: 监督式和无监督式。
• 监督学习的目标是学习一个函数,该函数在 给定样本数据和期望输出的情况下,最接近 于数据中可观察到的输入和输出之间的关系。 另一方面,无监督学习没有标注输出,因此 其目标是推断一组数据点中存在的自然结构。
插值:精确通过给定点;拟合:不需要精 确通过给定点
第3章 数制与运算
3.1 数制
二进制数的算术运算:
加法规则
0+0=0;0+1=1;1+0=1;1+1=10(向高位有 进位
减法规则
0-0=0;10-1=1(向高位有借位);1-0=1;1-1=0
乘法规则
0×0=0;0×1=0;1×0=0;1×1=1
除法规则
0/1=0;1/1=1
3.1 数制
例如, (3AB.48)16 =3×162+A×161+B×160+4×16–1+8×16–2
=768+160+11+0.25+0.03125
=(939.28125)10
3.1 数制
表3-1 十、二、八、十六进制表示法
十进制
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
二进制
在数的右下角或右侧标注 B或2
八进制
在数的右下角或右侧标注 O或8
十六进制
在数的右下角或右侧标注 H或16
十进制
在数的右下角或右侧标注 D或10 省略进制字母,默认为十进制。
3.1 数制
1. 二进制数:
有两个不同的数码符号:0,1 ;
每个数码符号根据它在这个数中的数位,按 “逢二进一”来决定其实际数值。
1×8–1+S–2×8–2+…+S–m×8–m 其中,8为基数;8n-1,8n–2,…,81,80,8–1…,8–m是
八进制数的位权。
例如, (123.24)8 =1×82+2×81+3×80+2×8–1+4×8–2
=64+16+3+0.25+0.0625
=(83.3125)10
3.1 数制
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章数值的机器运算3.1 基本内容摘要1、定点数的加、减法运算和加、减法电路的实现◆定点数的加减运算补码的加法公式、补码的减法公式;◆补码的溢出判断和检测方法溢出的产生、符号比较法、双进位法、双符号位法;◆从半加器到算术逻辑部件ALU半加器、全加器、并行加法器、加减法部件ASU、BCD码(十进制)加法器、算术逻辑部件ALU;2、定点数的乘、除法运算和乘、除法电路的实现◆定点数的乘法运算和乘法电路的实现原码一位乘法、原码一位乘法运算器、补码原码一位乘法、补码原码一位乘法运算器;◆定点数的除法运算和除法电路的实现原码除法、原码加减交替法除法运算器、补码除法;3、逻辑运算◆“与”、“或”和“非”运算逻辑与、逻辑或、逻辑非◆“异或”运算4、定点运算器的基本结构与工作原理◆移位电路◆定点运算器的主要组成5、浮点数运算和浮点数运算器的实现◆二进制数的浮点表示法◆二进制数的浮点运算浮点数的加减法运算、浮点数的乘除法运算◆浮点运算器的基本结构浮点加减运算器硬件结构及其工作原理3. 2 知识点一、逻辑运算逻辑与:又称为“逻辑乘”,其逻辑表达式为:F=A×B=A·B=A∧B逻辑或:又称“逻辑加”,其逻辑表达式为:F=A+B=A∨B逻辑非:又称为“逻辑反”,其逻辑表达式为:B = A异或:又称为“按位加”,其逻辑表达式:F=A⊕B=A∨B二、定点数的加、减法运算和加、减法电路的实现1、补码加减法补码加法公式:[X+Y]补=[X]补+[Y]补补码减法公式:[X-Y]补=[X]补-[Y]补=[X]补+[-Y]补当X、Y、X+Y均在一定字长补码所表示的数值范围内,公式成立;补码运算加减运算中,符号位可一起参加运算,不考虑符号位和数值位的区别;在补码减法运算中,有:[-y]补=-[y]补,[-y]补=[ [y]补]求补求补运算指对[y]补包括符号位“求反且最末位加1”2、溢出及其检测方法定点数的运算中出现溢出,其运算结果不能表示正确结果,但可以通过一定方法修正。
加减运算中溢出的判别方法有:(1)符号比较法溢出判断逻辑表达式:V = X s Y s (X+Y)s+X s Y s (X+Y)s+X s Y s(X-Y)s+X s Y s(X-Y)s(2)双进位法溢出判断逻辑表达式:V = C in⊕C out当C out C in=0 1,结果正溢;当C out C in=1 0 结果负溢(3)双符号位法溢出判断逻辑表达式:V = S S1⊕S S2当S s1S s2=01 结果正溢(或上溢);当S s1S s2=10 结果负溢(或下溢);在补码运算中,最高位(符号位)产生进位并不表示溢出,该进位虽然丢弃,但运算结果仍然正确。
3、定点加减运算器的结构(1)半加器:只是对两个输入数据位进行加法的电路,输出一个结果位和一个向高位的进位,不考虑低位的进位。
半加器采用一个异或门和一个与门实现。
(2)全加器:两个输入数据位和低位进位输入进行加法运算,输出一个结果位和一个向高位的进位。
全加器采用2个异或门、2个与门和1个或门实现。
(3)串行进位的并行加法器(行波进位加法器)n个全加器串接构成一个n位并行加法器,即将各位向高位的进位串联起来,低位的进位输出作为高一位加法器的进位输入,最低位的进位输入端置0。
(4)先行进位的并行加法器◆先行进位的并行加法器的进位信号将全加器的进位表达式C i = X i Y i+(X i⊕Y i)C i-1中X i Y i定义为“进位生成函数”G i,(Xi⊕Yi)定义为“进位传送函数”Pi ,n级并行加法器中各级的进位信号表达式为:C1=G1+P1C0C2= G2+P2G1+P2P1C0┊┊C n = G n+P n G n-1+P n P n-1G n-2+……+ P n P n-1……P2G1 + P n P n-1……P2P1C0◆先行进位电路CLA 和先行进位CLA加法器(5)加减法部件ASU(行波进位的补码加/减法器)(6)算术逻辑部件ALU1位ALU电路原理4位ALU逻辑部件74181功能及其应用(7)BCD码(十进制)加法器BCD码加法原理:被加数的4位二进制数和加数的4位二进制数相加时 >1001则对应4位数要加0110进行修正;BCD码减法原理:减数的4位二进制数减去被减数的4位二进制数时有借位,则对应4位数要减110进行修正;BCD码加法器:加法器和修正电路组成三、定点数的乘、除法运算和乘、除法电路的实现1、原码一位乘法◆原码乘法的算法:乘积[Z]原=[X]原×[Y]原=(XS⊕YS)+(O.X1X2﹍﹍ Xn-1Xn)×(O.Y1Y2﹍﹍ Yn-1Yn)◆原码一位乘法的计算机实现步骤:①取被乘数X和乘数Y的绝对值|X|= 0. X1X2···X n-1X n , |Y|= 0. Y1Y2···Y n-1Y nN位部分积的初值为全“0”;②以乘数Y的最低位Y n作为判断位,若Y n = 1,原部分积之和+被乘数得新部分积之和;Yn = 0,原部分积就是新部分积之和;③新部分积之和同乘数|Y|一起右移一位;④依次检查Yn-1、Yn-2···Y1,重复上二步操作,最终得乘积Z = X×Y的绝对值;符号位Zs = Xs + Ys和乘积Z 结合得ZsZ1Z2···Z2n-1Z2n为[X×Y]原◆原码一位乘法运算器结构2、补码一位乘法◆补码一位乘法的表达式为:[Z]补= [X×Y]补= [X]补×[0.Y1Y2···Y n]+[-X]补×Y s◆补码一位乘法的Booth算法运算步骤:①参加运算被乘数采用变形补码、乘数釆用单符号位补码表示,符号位参加运算;②乘数最低位Yn后加一位附加位Yn+1,初值为0;③求得每次部分积后必须与乘数一起右移一位,由乘数的最低二位Yn+1Yn的值决定下一次执行的操作——累加与右移Yn Yn+1 = 01 原部分积+[X]补,并右移一位;Yn Yn+1 = 10 原部分积+[-X]补,并右移一位;Yn Yn+1 = 00 和Yn Yn+1 = 11 原部分积+0,并右移一位;④操作次数,累加n+1次,移位n次(最后一次不移位);◆补码一位乘法运算器结构3、原码一位除法方法是先将符号位与数值位分开,对数值位部分进行除法运算得到的结果为商的数值部分,除数和被除数的符号位异或得到的是商的符号位,再加上商的数值部分运形成商的原码,余数应和被除数同符号◆恢复余数的除法:先作被除数和除数的减法,判别余数:如果余数为正,商上为1;如果余数为负,商上为0,由于已作了相减运算,需加上除数恢与那部分余数;◆加减交替法的除法:先作被除数和除数的减法,判别余数:余数为正,商上1,余数左移一位减除数;余数为负,商上0,余数左移一位加除数。
若最后一次余数为负,商上0并加︱Y︱。
◆原码加减交替法的除法运算器4、补码一位除法补码加减交替法的规则表为:四、定点运算器的基本结构与工作原理1、移位电路的工作原理2、定点运算器的主要组成及其原理五、浮点数运算和浮点数运算器的实现1. 浮点数的加减法运算:浮点数加减法运算的步骤:(1)对阶:将原阶码小的数的尾数右移,使其阶码等于大数的阶码;(2)尾数运算:两个尾数进行加减运算,可任意采用一种方法;(3)结果规格化:对不符合规格化要求的结果进行规格化处理:左规或右规;(4)舍入处理:对运算时多保留的数据位进行舍入处理,可采用截去法、0舍1入法、恒置1法;(5)溢出处理:检查阶码是否溢出,阶码下溢则置运算结果为浮点数形式的“机器零”;阶码上溢,置溢出标志,由CPU的异常处理机制进行处理。
2. 浮点数的乘除法运算浮点数加减法运算的步骤:(1)阶码运算:乘法时,阶码做加法;除法时阶码做减法,若阶码以补码表示,阶码[E xy]补=[E x +E y]补=[E x]补+[E y]补阶码[E x/y]补=[E x -E y]补= [E x]补-[E y]补若阶码以移码表示,阶码[E xy]移= [Ex + Ey]移= [Ex]移+ [Ey]补阶码[E x/y]移=[E x -E y]移= [Ex]移+ [- Ey]补(2)尾数乘除法运算:乘法时,先检测相乘两尾数中是否有“0”,若有一个为“0”,乘积必为“0”,若均不为“0”,可进行乘法运算;除法时,检测被除数是否为“0”,若为“0”,则商必为“0”;再检测除数是否为“0”,若为“0”,则商必为“无穷大”,另作处理;除数和被除数都不为“0”,可进行除法运算;可以采用定点小数的任一种乘、除法运算来完成;(3)规格化:将尾数运算结果规格化处理;(4)舍入(5)溢出处理3、浮点运算器的基本结构(1)浮点数加减法运算操作流程(2)浮点数加减运算器的结构六、主要的术语及概念:求补、行波进位、先行进位、半加、全加、对阶、左规、右规、舍入、变形补码;。