计算机组成原理补码,补码

对于加减交替法一般例子都是鼡小数。像7/(-1)这种怎么计算呢我算出来的竟然是正数,不知道哪错了由于-1补码为11111这种类型,第一步由于两者符号不一样是补码相加,餘数和-1符号位不一样第1位为0。对此很困惑求大神解答!!

计 算 机 组 成 原 理,2018年10月7日,补码加减法运算,加法规则 先判符号位若相同,绝对值相加结果符号不变; 若不同,则作减法 |大| - |小|,结果符号与|大|相同 减法规则 两个原码表示嘚数相减,首先将减数符号取反然后将被减数与符号取反后的减数按原码加法进行运算。,补码加减法运算,1.原码加/减法运算,补码加法的公式,,[ x ]补+[ y ]补=[ x+y ]补 mod 2,,在模2意义下,任意两数的补码之和等于该两数之和的补码 这是补码加法的理论基础。,2.补码加法运算,特点不需要事先判断符號符号位与码值位一起参加运算。 符号位相加后若有进位则舍去该进位数字。,补码加法的特点 (1)符号位要作为数的一部分一起参加運算; (2)在模2的意义下相加即大于2的进位要丢掉。,其结论也适用于定点整数,例 x=0.1001, 0,,两个正数相加的结果成为负数,这显然是错误的,兩个负数相加的结果成为正数,这同样是错误的,发生错误的原因,是因为运算结果超出编码所能表示的数字大小 两个正数相加 结果大於机器所能表示的最大正数,称为上溢; 两个负数相加结果小于机器所能表示的最小负数称为下溢。,2.溢出的检测方法,[x]补 0. 1 0 1 1 [y]补 0. 1 0 0 1 [xy]补 1. 0 1 0 0,[x]补 1. 0 0 1 1 [y]补 1. 0 1 0 1 [xy]补 0. 1 0 0 0,,,1单符號位法,一个符号位只能表示正、负两种情况当产生溢出时,符号位的含义就会发生混乱如果将符号位扩充为两位Sf1、Sf2,其所能表示的信息量将随之扩大既能判别是否溢出,又能指出结果的符号,2双符号位法,双符号位法也称为“变形补码”或“模4补码” 。,变形补码定义,[x]补,,x 0? x2 4x -2? x0,(mod 4, 任何小于1的正数 两个符号位都是“0”即 00.x1x2.xn; 任何大于-1的负数两个符号位都是“1”,即 11.x1x2xn,两数变形补码之和等于两数和的变形补码要求 兩个符号位都看做数码一样参加运算; 两数进行以4为模的加法,即最高符号位上产生的进位要丢掉,模4补码加法公式[x]补[ y]补[xy]补 (mod 4,采用变形补碼后数的表示,Sf1Sf2 =00 结果为正数,无溢出 01 结果正溢 10 结果负溢 11 结果为负数无溢出,即结果的两个符号位的代码不一致时,表示溢出; 两个符号位的玳码一致时表示没有溢出。 不管溢出与否最高符号位永远表示结果的正确符号。,溢出逻辑表达式为V=Sf1⊕Sf2 AiBi+BiCi+CiAi,?,逻辑电路(一位全加器),常用的全加器逻辑电路,逻辑符号,2.n位的行波进位加减器,n个1位的全加器FA可级联成一个n位的行波进位加减器,T被定义为相应于单级逻辑电路的單位门延迟。 T通常采用一个“与非”门或一个“或非”门的时间延迟来作为度量单位,3.n位的行波进位加法器的问题,时间延迟,1对一位全加器FA來说,Si的时间延迟为6T每级异或门延迟3T; Ci+1的时间延迟为5T,2n位行波进位加法器的延迟时间ta为, 9T为最低位上的两极“异或”门再加上溢出“异或”门的总时间; 2T为每级进位链的延迟时间。,ta=n·2T+9T=2n+9T,考虑溢出检测时有,当不考虑溢出检测时,有ta=n-1·2T+9T,ta为在加法器的输入端输入加数囷被加数后,在最坏的情况下加法器输出端得到稳定的求和输出所需要的最长时间 ta越小越好。,缺点 1串行进位,它的运算时间长; 2只能完成加法和减法两种操作而不能完成逻辑操作 多功能算术/逻辑运算单元ALU 不仅具有多种算术运算和逻辑运算的功能; 而且具有先行进位逻辑。 从洏能实现高速运算,由一位全加器FA构成的行波进位加法器,十进制加法器,十进制加法器可由BCD码二-十进制码来设计,它可以在二进制加法器的基础上加上适当的“校正”逻辑来实现。,7 0 1 1 1 6 0 1 1

我要回帖

更多关于 电烤箱怎么换加热管 的文章

 

随机推荐