screen_ 计算机组成与体系结构 _ 第 6 周 _ 星期四 _ 第 2 大节 _ 原文 2026 年 01 月 01 日 16:37 对。

好,咱们开始上课。上节课咱们开始了新的一章的学习。在这一章我们主要讨论运算器的相关问题。

在第一节我们重点讨论的是加法器的物理实现。也就是说通过我们的全家器,通过这个全加器实现了两个单位二进制数的加法运算。首先大家一定要掌握我们全加器它的这个芯片的设计,也就是说我们有三个输入两个输出。其中三个输入分为本位的输入的二进制数,A2B2,CN 减 1 或 CR 减一是定位的信号输入位,两位输出分别是 S 和 CRS2 是运算两二进制运算的和值 SR 而 CI 是运算过程中向高位进位信号。这是一个全加器,大家一定要明确。而且这个全加器的逻辑表达,这应该是学习数电路你应该掌握的。咱们化妆的最简史,其中 SR 等于 ARE 或 BR 再 E 或 CR 减 1,S2 等于 A2 乘以 BR 加上 ARE 或 BR 再乘以 CREE。

那么根据我们。N 如果两个 N 位二进制做加法,那么简单的方法就给你一个全加器实现我的运算。这跟我们手工做二进制式运算套路是完全一样的。

还有一种方法,就既然是 N 个两个 N 位二进制数,那么每一位给他分别设计一个什么?分别设计一个加热器,就你有 N 位,我给你 N 个全家起。对于这种情况,就给你 N 个全加器的加法器来说,我们给出了一个极端的两个数的运算,一个数为全一,一个是 0001。这两个数相加,大家发现最低一位的运算结果要影响每一位的进位的输入。因此对于 N 具有 N 个全加器的二进制的加法器来说,如何提高。定位信号产生与传递的速度,将决定了我这个 N 就 N 个全加器的二级加法器的运算系统。

那么我们怎么办呢?我们利用我们最原始的数学推导,通过 C1、C2、C3、C4 的公式,就是我们二进制。我们二进制用负号运算的过程进行了一个推导。我们发现我们目前 PPT 给出的 C1、C2、C3、C 四这四个进位信号量的输出,用等号右边进行表示。无论你做了几次与运算,几次什么什么运算吧,都这都没关系。但是它这个等号右边最大的特点,无论是你的记性还是记无论是你的 G 还是 P,G 等于 AR 乘以 BR,P 等于 ARE 或 BR 无论你的 G 还是 P 都是在电动车给出的什么?

第零时刻所给出的原始输入量。因此我们说第零时刻给出所有的 AR 和 BR 经过我的运算,我同一时间能得到 C1、C2、C3、C4。有的时候我们是对的,就是第 60 个给你全部的输入量。经过我这个式子变换之后,我可以同时得到 C1、C2、C3、C4,甚至 C5C6。从理论上这个 CN 是可以无限大,但是大家发现你现在 C 四这个式子都很长了,那么 C5、C6、C7、C8 的式子会更长。

在上个世纪 56,尤其是 60 年代,我们的芯片制造工艺没那么强。针对当时的工艺生产制造的工艺成本等等多方面的考虑。事实上对于并行加法器的工程实现,实际上我们给出了两种方案。这是第一种方案,被称为组内并行。

组间串行的话,比如说这是一个 16 位的二进制数的相加,它给出了四个加法器。这四个加法器它的特点是一人一个,我输入了。第零时刻,我输入。第零时刻我输入了所有 ARBR 和 C0,经过二倍替换我得到了 C4。因为这每一个加法器的进位信号有输入和输串接的,是吧?因此大家可以看组内运行组间是串行串接的原因是我的定位信号就是每一组的 C0 和 C4 都是一个串接的状态。因此我们称为这称为是单级先进行为,也称为组内进行组间串行的方式。

对应的定位信号的产生时间延迟,我们用这一张图来给出来了。别说第零时刻,第一时刻外头是时间刻度,就是零时刻二倍的 740 倍、760 倍、8 倍 7 万是吧?第零时刻 ARBR 和 C0 都给出来了,经过二倍之派与 C 之间连的第一个就第一个。

第一个 CLA 加法器经过二位之外,C1、C2、C3、C4 同时产生是吧?同时产生你说我没有这张图是吧?在这儿再经过二倍之外,因为是我们每个小每个加法数加加到 7,我的静谧信号输出和下一级的 CRP 是串在一起的。然后什么 C5、C6、C7、C8、C9、C10、C11、C13、14、15OK。这就是一种形式,就是组内并行,组间串行,这是第一种方案。第二种方案我们称为组内并行,组间也并行。

大家注意一下,这个图跟我们刚才那个图,刚才叫 CIA 和 BCIA 区别在哪?BCLA 没有 C4 的进位信号的输出,他的定位信号的输出用这里的 P 锌和 P 心所替代的。这个图稍微有点大,比如说就每一个 ECLA 的 G 和 P 的输出应该是带着星号,咱们的教材上应该是对的的。

再进去以后就发现这种形式最大一个特点是什么?大家可以看一下 C0,输入给 BCLA 并输入给 CLA。然后大家发现 C4、C8、C12、C16 它并不是由 BCLBCLA 本身产生的,而是由上 CLA 电路产生。这跟原来是不一样的,是吧?

具体的这推导过程,我们前面应该上节课给大家大概展示了一下。这就是它的一个过程。因为这个相对来说,我们要求大家掌握它相关的理论处理过程,我们不要求大家进行实际设计。如果你想做实际设计,实际上我们也给出了大家的一个需求方案。大家可以看一下,这一页 PPT 描述了第二个组内进行组间也进行的界面上产生一连续之后,给出所有 A2B2。经过二倍之外得到 C1、C2、C3,然后再经过二倍时刻得到 C4、C8、C12、C16,然后占比得到除第一个就最右边路的 CCRA 之外的所有的组内的建立情况。这个过程希望大家一定要掌握。

这是我们上节课讲的最为关键的内容,这是 CLABCLA 的区别,主要是这个 C4 是吧?BCLA 还有个 C4 输出,而 BCLA 没有 C4 输出,用 G 心和 P4 替代,因为 G 心加上 P 心乘以 C0 就是 CC 是吧?这个我们有相应的规则去描述。好,这是我们上节课最为重要的。我们花了大概十分钟时间做一个简单的叙述和复习。

那么好,那么这节课我们讲到后面有关二进制的加减运算,重点要求大家掌握什么?我们补码的加减运算的公式就这张图,这个我不展开。因为蒋老师我看现在这版教材,蒋老师的这版教材对于这块的描述也是非常简单,不像过去讲的很繁杂。既然张老师都不要求了,那么我们也就不讲。因为讲讲快讲快去说,你们也没得看。但是要求大家掌握一下它的计算公式,尤其是补法的减法计算公式。X 减 Y 的补就差值的补等于 X 补加上户外是吧?S 股加上 FY 就是所谓已知 Y 股加得到负外部,大家可以看一下我们的规则,将外部连通不好费,按月取款默认加入。

我们上节课我们还讲了我们逻辑运算,按月取款用什么逻辑运算规则就能得到?我们一般用异或运算就可以得到一个数的,它的这个 C 什么 Y 得到对应的 YC 我们是可以用亦或者说进行一个处理是吧?那么这是这块,我们这个一出判定,我们要求大家掌握什么?

双符号位的因素判定这块因为这个双符号位,他有四种状态,0001、1011,其中同龄同 1 意味着属于正常的什么?正常的正数和负数只有 1011 才是溢出情况。其中。01 对于正义 10 代表负一,这个大家知道一下。后面还有什么移位操作?一位选入。

这个移位操作和手动操作,咱们蒋老师讲的相对来说比较简单,咱们一起来看一下。对于这个有符号数的算术移位,大家看一下我们的规则是什么样。大家一起来看一下有符号数的算术移位,这个大家一定要掌握,因为我们后面做二进制的加减乘除要用到这个规则。

那么具体讲对算术移位最大的一个点是要求什么?保持数的符号不变,而数值的大小发生变化。左移一位相当于这个数的最后一位,加零对应的是这个数,相当于扩大一倍,就相当于乘 2。又一位相当于这个数缩小一倍,该数除以 2。这说的有点抽象是吧?首先既然是移位,那么有符号数。我们身上人在过去分为原码一位规则,反码营业规则和补码营业规则三种形式。但是在实际应用过程中,我们重点要求大家掌握源码和赌马就两种就可以了。

对于我们说。对于圆满一位来说,负数应祯数得好处,无论左移右移都没问题。我们负数说了负数的原码一位以后,空出的位补 0,这个好像大家是默认的。那么这个卟啉意味着原码一位分为效果严重扩大,向右移动、缩小。无论你左移和右移,原码的移位就用原码表示的负数的移位,它五个是零。

比如说这个左移这是一个负数,S 是它多少倍?X1X2X2XN 我进行算术数,这个源码的算术左移应该是什么?大家可以看一下,变成了符号位不变,数值位依次向左移动一位。原来的 X 一被扔掉,现在变成了 X2X3 一直到 XN 最后一位主格是零是吧?这是我的左移操作。那么右移操作同样还是原始数是一 X1 到 XN 我进行用补码表示的右翼操作,大家来看它结果是什么?有 0X1 到 XN 减 1,我们在这有不满,这个负数的原码移了以后空出来的数,这是大家要掌握的。

那么对于补马对于补马来说,负数大家看一下补码的负就负数的补码左移空处为 50,而负数的补码又以空出位,要补一。尤其这个补码的负数补码右移操作,最高位补的是一不是零,这是大家一定要牢记的。因为我们后面会大量的使用补码移位运算,那么这个要记住,比如说复述的午马右移过程中,最高位要补与符号有一致的数。

比如说这个左移,大家可以看一下,一位前还是 1X1 到 XN 我进行负数的补码。佐尼他对这第一位五的设置这个没问题,但是右移大家看清楚,这还是一 X1 到 XN 那么进行算术右移操作,大家可以看一下,我这读的是五个是一,这是说对于负数的补码来说,尤其囿于操作,我补的是一,这个一定要记是吧?在后面我们要用到,就在二进制的乘法和除法运算过程中要用到这个。因为我们要讲二进制的圆满一位和不满一位的乘除法是吧?用补码的话,这就要注意到这一点,如果这一点把握不住,后面基本上就做不出来。

移位运算实现方法就是通,主要是以移位寄存器来实现,对吧?除了一个寄存器之外,我们还可以利用什么 java 器在输出端设置一个左移直传右移的交通电路来实现。这我们就不啰嗦,这个没啥好讲的这下来看。

二这个带符号数的舍入操作。因为我们在实际学习,在中学期间学习这个十进数的时候,我们学过四舍五入对吧?四舍五入。那么到了我们二进制机器运算过程中,大家看一下,尤其在我的算术右移过程中,由于受到硬件的限制,运算结果可能要舍去一些尾数。由于舍弃尾数会造成误差,那么怎么减少误差呢?我们这给出了好几种方案。

第一种方案,衡水原则。也就说无论通过右移被扔掉的树是什么,我都舍得去保留。剩余的 P 位不做任何变化,就觉得很舍得字。比如说这里有 P 加 QV 通过我的算术左右移以后,我保留了脾胃,剩下扔掉了其余的 Q 位。那么这 Q 位不论是什么数,我通通扔掉就可以了。这是最简单的,每个同学都找到,但是大家发现这有可能会产生一些误差是吧?

第二叫冯诺依曼摄入,冯诺依曼摄入它这种方案就叫朋恒治依法。就无论我扔掉的这批位是零,还是不是令我将脾胃的最低位直接之一就是冯诺依曼。说白了我扔掉不管多少?我把 P 位的最低位我直接去一。这个我觉得好,他这个方案好与不好,每个人都能举出反例来是吧?这个就不啰嗦。

也就说如果这个咱们就区分,如果保留的最低位原来就是 100 分之 1,跟原来没有变化,跟恒舍原则是完全一致的。如果保留的 P 位的最低位是 0,那么两分之一会发生修改减少这种什么原则?有它好的地方,也有它不好的地方,看大家怎么去处理和你去看这个问题了,那么我们就不再说这些事儿。好,这是我们的主要内容。

还有什么下设商务原则,说白了这个下舍上原则就直接类似于我们的四舍五入。那么四舍五入怎么去对应呢?我们是根据被扔掉的 Q 位的最高位是零还是一?如果被扔掉的客位的最高位是 0,大家可以看一下,直接扔掉 Q 位就行了。如果被扔掉的 Q 位的最高位为一则在 P 位的最低位加一就四舍五入,就是这个号对吧?加 1,那么这个是最大的一个特点。

比如说保留是 P 位,扔掉 Q 位。如果 Q 位的最高位是 0,那么直接扔掉就可以了,这跟很少原则没什么区别。但是如果我扔掉 Q 位的最高位是一,大家可以看一下是一则需要在 P 位最低位做一个加一操作,这个就是我们那个套路,还有个查找这个事不用看是吧?这没事,没任何想,这我就再不跟大家去啰嗦。好,下面咱们看一下定点数的。什么乘法运算。

定点数的乘法,你说我看一下。

好,咱们现在教科书是将定点数的乘除法放到一小节过去,我们是分开,这都没关系。刚才我大概看了一下咱们讲的同学教材,跟若干年以前我上的教材完全一样讲的内容。在这儿需要大家可能待会儿要抄一些计算规则。因为贾老师的相关计算规则描述过于繁琐,事儿还是那个事儿,但是特别繁琐,所以我会跟会给大家提要求。

好,首先咱们看一下定点数的加减运算。事实上对于定点数的,我们加一个定点数的乘法和除法运算,我们实际上要总共就乘除法,总共学 4 种方法。分别是乘法就原码一位的乘法运算,补码一位的乘法运算,以及原码一位的除法运算和补码一位的除法运算,总共 4 种方法。这个我们考试的时候,这个是要求大家掌握,每一年我都会考。因为在课前在爱培这个群上大家都看到了咱们这第四章的破例我复制了。大家下去把第四章作业完成了就可以了。

那么好,五首先我们看一下原码一位乘法,希望大家注意一下,在进行二进制的乘除法过程中原码的处理是比较简单的。具体的讲源码计算,就源码无论是乘法还是除法,它最大特点是什么?我做绝对值的乘法和除法符号位置单独处理,就是源码乘除法的最大的特点就是运算过程是绝对值的运算,而符号位单独处理,而补码的乘法和除法是符号位去参与一下,这个相当于好,首先我们看一下在这几种方法中最为简单的原码一位乘法规则。

原码一位乘法规则来自于我们小学做十进制乘除法那个方法。就是比如说实名制乘法?我们怎么做,每个同学都会。我们只不过是对于原码,一是把我手工的运算,想办法把它挪到计算机,由计算机按照这个流程给你算是吧?当然我们是在算过程中是有所改造的,具体的讲我们说了原码一位乘法是由手算演变而来。即用两个操作数的绝对值相乘乘积的就积的符号,有两个操作数的符号的异或值来决定?同号为正,异号为负。那么说白了原码一位的乘法运算过程是绝对值的运算。

好,那么我们给出两个数,比如说 S1,比如说 X 为正的 0.1101,Y 是负的 0.1011,这是两个搭配一下 X 和 Y 我们的描述是什么?我们的描述是一个二进制的真值表示,二进制的真值是吧?真值的表示这点相当注意一下,我为什么要提出提这件事呢?

二进制的增值。我们在第五第四章我们的计算过程有一个要求。你题干给你的是二进制真值。你最终的运算结果,无论你用原码一位乘法运算规则,按用补码一位乘法计算规则过程,按照原码一位或者补码一位进行运算就可以。但是最终我的结果就是 X 乘 Y 的 B 结果,乘积要用二进制增值的形式加以表示。就是如果我题干是真值,你就要用真值表示。如果题干描述的是一个源码的形式,你觉得给我化成原码,如果是普码,那么多个化成图码,这个一定这是我们默认的一个规矩,这点希望大家注意一下。那么好,我们看一下这两个二进制的真值,如果手工运算,那么我们把式子列下来。

说白了我们用的是什么?S 我们可以看成是一个被陈述,Y 是一个陈述。首先刚才我们说过了,这两个数在运算过程中是绝对值的运算,也是运算过程中你完全不考虑它的正负号,我们用乘数 Y 的每一位去乘以被乘数。那么这个过程我想每个同学都荟,由于一乘以用一,因为我二这个数据两个数,一乘以这个数还是它本身,对吧?

这个我想说明什么东西,1 乘以 0,1101 还是 1101 是吧,10 乘以 1201 变成 005 是吧,这有什么意思呢?他看这个书是不正确,就是我的被陈述的数值部分?这奥妙是什么?由于根据我预算结果的过程就乘以一个数字,得到的还是复原本身对吧?它有本质的一个女孩是什么?

乘法变加法是吧?乘法变加法有 1 乘以 1,是不是还要提这本书?首先我们按照类似于十进制乘法的列式规则,我对于这两个二进制运算过程。做了一个计算,得到我们最后,我们发现这个过程。这个过程就我们这次计算全部过程。

大家琢磨一下,如果我把它放到计算机里面,用计算机的加法器来实现,他有什么问题?他有什么问题需要我们解决?很简单,我的部分积这四个部分积做了一次的加法计算?这个 1101 加上这个 101,再加上 00,再加上 1101,我四个部分机做一次的加载预算。这个显然计算机因为计算机的 java 机只有两个输入端,你这四个数同时做我们做不了是吧?但是虽然有四个部分的一次做一次加运算我做不了,但是我可以做一个累加计算。每一次我用当前的这个累计的结果加上其中一个部分积,我就把一次加上运算变成什么?四次加完一次,第一次是零加最后积得到一个新的部分级,弄出新部分再加这第二个,再加第三次加一次就是一次的加法运算,我变成四次,这就解决了是吧?

还有一个大家看到没有我比如说二进制,我这两个数都是五位数,包括方是五位数。而我结果如果不包括符号位,大家看看就是这包括符号位是五倍。如果看的数值位,这是四位,两个四位数得到的结果是几位?八位数是吧?也就是说我经过乘法的算以后,我所需要的信息保存的位置上,总量要比运算前要扩大一倍。

我怎么去解决这一件事?一个高三部分积的累加我解决,还有一个部分积的运算过程,我怎么弄?事实上我们就利用了存放 Y 这个寄存器。因为大家发现我每次输入最低这个数相乘,当这个一与上面被陈述相之进行了第一次运算之后,这个数就没用了是吧?那么我把存放 Y 寄存器和存放部分,就这个寄存器我级联右移就可以使用。这样就得到了我们圆满一位的运算规则。

大家看一下,最后我们得到这个数,这个数还没完,还要进行符号为判定。最终大家看一下 X 乘 2 的真实的值是负的 0.1000611。好,这个思路我已经跟大家去说了。下面咱们看一下,经过科学家把刚才我说的累加的过程,移位的过程进行了一个合理化设计。每个同学我们讲到这一点,每个同学都能去做合理化设计,最终给出了二进制加法器完成原码一位乘法的运算规则。这个规则跟咱们教科书上是完全一样的。

我们不需要说首先我们要求参与运算的操作数要取它的绝对值。这是第一件事儿。第二件事儿。我们以陈述的最低位为盼定位,如果是一则加乘数。如果是零则加倍,那么大家看一下,这一点也是很关键。以最低位若唯一就加倍惩处,这是二进制唯一的就是最大的一个。为什么我们选用二进制就在这。

那么这十项乘法变加法,你说为什么我们最后计算机的 AIU 算是逻辑单元,最终是用加法器来的?看一下这就是一个乘法变加法,加法的过程甚至很要命对吧?这也是决定性的转化,就是乘法变加法,这是我们做运算的规则。

就根据被陈述,根据陈述的就 Y 的最低位的是零还是一,决定我做什么样的工作。然后我的累加以后的部分及右移。这个右移说白了就是对应的我们这个部分机的,我们手工算出的部分机都是左移过程,这部分效果一共一个,那你对应的这一位为最低位进行对标,这个过程我们是左移操作,在实际计算机里面我们用的是右移操作。

重复这个第二步和第三步总共 N 次,为什么是 N 次呢?为什么是 N 次呢?因为我们在我们这本书上隐含的 SY 位置 N 加一位。听明白了,因为有了 N 加一位的前提,我做 N 次,你别想当然做 N 次就拍脑袋说出来。我们有个简单前提,就 XY 它的长度是 N 加一倍 OK,然后是符号处理,同号为正,通过号为。

好,这是规则,大家先消化。一个就是他的规则乘法变加,这是很要命的一点。除此之外我们看一下我们寄存器的使用,这里需要三个寄存器,ABCA 大家看一下它的存放部分机大家看一下,第一,它的作用在运算过程中是存放部分积的。当我们完成乘法运算以后,它存放最终结果就沉积的高位部分,而且寄存器的初值为零是吧?

然后 B 存放被乘数 XC 存放乘数 Y 其中 B 的值是不可改变的。因为我不仅要需要做加被投诉的工作,你 B 的值是不能改变。而 C 大家可以看一下我存放什么?Y 运算之后,大家看一下 C 寄存器不需要保留陈述,改为存放部分积的低位部分,也就是我最终的我结果用 AC 寄存器级联存放部分机的高位部分和低位部分,其中 S 初值为零,C 的数值是乘数,是因为刚刚我们说在规则里面或部分积累有时差。与此同时因为 AC 是集连在一起使用,也就说 A 的最低位要移入 C 的最高位。而 C 的寄存器的最低位是我已经用过的一个城市的最低位,我已经使用过了,因此我下次就把它掉。这是一个他的一个处理过程。

好,我们把这些抽象的规则描述完以后,我们给大家讲个小例子。已知 X 还有我们刚才的 X 是正的 0.1101,Y 是负的 0.1011,求 X 乘 Y 我们用源码移位规则进行处理。首先按照要求,我要给出 X 的绝对值,Y 的绝对值,而且 X 绝对值是放入了计算体积里面,Y 的绝对值放到寄存器 C 里面,A 寄存器初值为零是吧?下面我们就可以按照规则进行计算,符号位不参与运算。寄存器 AC 级连使用完成右移操作。好,咱们休息五分钟,待会讲具体的过程。

大家可以交作业了。就。

对,那我们就我。

进行一个质证的东西。对,他们是对对对。

不需要。

老师,我今天不是说的是下次下次,这四个月上交,不需要就不需要。对对对。

是,只是上一个作业可以。

好,那么在上课之前简单说一下。第一咱们的第二张专辑我已经看完了,但今天不好意思,我没带你在办公室里。我看一下基本上跟我的预期是一样,基本上都属于标准答案是吧?而且大家我想我想在座各位手头应该有相应的资源是吧?这种参考书什么都有。那么我从第二章我基本能判断判断这一点,这是第一点。因此咱们的作业的重要性就不如没有以前那么重要了。

那么到底咱们怎么去弄?我会根据咱们课程进度情况安排必要习题课。第二章的习题我不打算给大家上课画上去讲了,因为都比较简单。那么第三章刚才有两个部分同学已经作业已经交完了。交完了以后我会应该是下次我会就全部会给把大家的第三章的作业会返回给大家。返回给大家以后,我会讲会上第三章的习题课。我一般会在我要上之前,会在派给你的钉钉群里面会说一声大家关注一下。希望大家注意一下,由于大家都知道每个老师大部分都在市里面住在这边,基本没有老师住的意思。

我的交作业的原则是抽查,每次可能有一半的同学,甚至 3 分之 1 的同学交作业就可以了。交的时候只交我指定的,比如说第二天交完了,有些同学交了,有些同学没交。我默认没交的同学,你作业做完了不需要交。下一次交第三章作业的同学,你交了不需要把第二章的再再交过来,你没必要?我默认你是全做了,那么每次就是指定的班级的同学交作业就可以了,这点相当多。

还有一点,上周,上次课应该是 16 号,有同学在爱北里打卡?记住我只有我要求上课,我们签到这个才算数。我没说这句话,签到也是白签,这点相当注意一下,别让想当人的说这个人这个老师每次都要签到,没有这么回事,我是随机,而且是按照时间段去评判的,有同学说我在本部给研究生上课,我真是遇到过。有的同学说,老师前段时间我手机没电了是吧?但是因为他在场,可以专门给我手写一个他的名字交给我,我也不,我只看你的这个出勤情况,但是我已经说过了,我是秋后算账。你可以不来没关系,但是考试里的过关,考试不过,还是那句话,秋后算账,吧,这个没什么好说。

行,咱们接着刚才内容讲。刚才我们对于两个二进制珍珠 IX 和 Y 首先给出了 X 绝对值 Y 的绝对值。而且告诉大家 X 绝对值放到哪个寄存器里面,Y 的绝对值放在哪个寄存器里面。下面咱们看一下计算过程。

首先大家可以看一下,我因为 AC 寄存器几点使用,我们在用手工描述二进制计算过程,大家可以看一下,A 是一个存放累加积的一个寄存器,它的初值是零。C 是存放乘数 Y 的数乘上 Y 的这个情况陈述 Y 数值位的引起 AC 首先是节点使用,因此 A 的初值为零,C 的初值为 Y 的绝对值 1011。那么按照我们的规则,我们始终是以当前即这个被这个陈述官的最低位是零还是 1 来决定我是否加这个陈述。由于当前的这个陈述外的最低位是一则部分积加上我的被除数 X 的真值绝对值。那么零加上 00.1101。大家一定要注意看一下我这个过程,这个过程中哪样发生了什么改变,大家要看清楚,这里面是有讲究的,不要埋头看看看下面看书,看 PPT 有可能看花眼了?

那么这个计算过程二进二进制计算过程,大家看一下,0 加任何数等于 0.1101 是吧?然后这做了一倍的加法运算,紧接着我要做一次算术移位,看清楚我怎么移。而且做算术右移是 AC 寄存器级联。大家可以看一下我当前的结果,0.1101 通过算出一位,我变成 0.0110。

而最上面这个一被引入到哪了呢?引入到寄存器 C 的高位股,而寄存器的其他数值依次右移。因为刚才我用过了这个机,这个 C 的最低位是不我就扔掉是吧?等于说原来这个 C4 位 1011 通过算通过这个右移操作,把最低位扔掉话是 101 最高位空出来是交给 C 也交给计算机 A 把它的最低位移进来 OK。

好,这是第一步,做了一次的加法,一次的右移。那么此时我的 C 的最低位依然是我的判定位,此时的最低位依然是一,那么我用这个部分积新部分积做一个加法计算。OK, 实际上这个诱因,因为我的既成 X 绝对值这个位置的位置尺度,就 X 的位置固定不变。植物把原来部分机过去都是要用部分机要左移,现在我把这个做为右边操作,当时相对移动,没有什么影响。这个数大家看一下。大家琢磨一下,0.0110 加上 0.1101 结果是多少?结果是多少?大家可以算一下。

说到最后,你敢不敢写?大家看一下,这一步是非常关键的,都抬起头来看一下,结果是什么呢?01.0011。这是双符号位溢出了吗?我们说没有为什么?因为我们做的绝对值的预算?只不过这个腰是上次运算的最高位运算,以后的向高位的进位,我只借用了这个符号被保存临时保存。

因为我再做一次右移是不是就移进去了,因此这个月在很多同学就没上课的同学就吃亏了。在这儿我都解释半天,同学不来听肯定不知道是吧。这运算结果是这就是我的最高升职位做加法运算之后产生的一个敬畏。我临时用它暂时暂存,因为我已经说过了,它是做绝对值的运算,符号位是个假符号位。

那么得到这个 01.0011,我紧接再做一次移右移操作,部分进行这种操作是不是又恢复正常了?00.000.1001 这两个腰被被移过去了?那么这一步不知道在座的各位怎么样?等你考试的时候,我比如说这道题给你别说了,你敢不敢写?我相信今天坐在教室里上课的同学,这个是没有问题的。但是没有来,搞不好就会迎头而上是吗?

OK 那么做完这一次加法,这几个月以后,下面我们看用 C 的最低作为判定位。此时 C 的最低位为零是吧?为零的话按照我们的规则部分积加 0,然后是右移一位,这个过程没什么含糊的是吧?没有变化那么就加。因为我们刚刚讲的是要做 N 次加法运算,N 次一位?就是你做了一次、两次、三次加法,三次一位,那总共要做几次呢?可以告诉大家,因为我们的数值位是四位,因此要做四次加法,四次一位 OK。那么此时我的 C 里面最低位是一是吧?

根据这个部分积加上 X 的绝对值等于 01.001,这又遇到了借位的情况是吧?借位的情况通过右移操作,把这个数据一进来 OK,总共做了四次加法,四次,这个 N 次是由我的 X 和 Y 的那个数值位的位数 N 来决定。因为他这次是做了 40 加 4 层内做到这一步就是结果了吗?我们还说不是,因为他只是做绝对值的运算,因此符号被单独处理是吧?最终 X 乘以 Y 的结果为负的 0.10001111,这才是最终的结果。

大家可以看一下这个过程,我上周不讲你敢不敢去写吧?这个突破了在第四步的第二步价格运算和第四步加运算,它的结果 01 点什么什么,你敢不敢写这个数是吧?它不代表一出,这跟我们前面讲的不一样 OK 我只是利用借用符号位的空间临时存放一下,通过我的右移操作就把它由括号位移到我的数据的。这道题这两个点,第 42 个加法的结果和第四个加法结果你怎么去看待?

很关键的,这种期末考试 4 种方法,我一定会考其中一种方法,而且数肯定不是一样,不是这个立体上的数是吧。但是方法找你吃的找没问题?那么实际上咱们期末考试前的这个总复习很简单?借助我说的话,我为我说的每句话负责,我说要考肯定会考。有同学说老师对我实行了什么什么方法,什么规则,你怎么没考?如果你要问我的回答是什么,你再来考一次就会遇上是吧?

OK 这是原码一位乘法规则。那么我们规则比较简单,但是计算过程需要大家注意的问题,我已经讲的很清楚了。希望大家在做题过程中一定要规避相应的这种小问题,不然的话你会吃亏的。好,这是这部分内容。

下面我们给出补码一位乘法规则。咱们书上过去在这块的描述相对来说是比较繁杂的。咱们目前贾老师在这块做了讲话,具体的推导过程我不想给大家再啰嗦了。我们就给出了我们实际补满一位乘法规则句子方案,所谓的 boss 乘法规则。那么大家记住,我们在进行这个乘除法学习过程中,大家的套路什么?记住规则,按照规则运算就 OK 了。

第一件事补码,布置乘法规则。第一,参与运算的数是用补码来表示,这是第一点。第二点,符号位是参与运算的。这是第二点。

第三点,在陈述最低一位的后面增加一个 YN 加一位,而且初值为零,这点很关键。原来比如说 N 位就变成了 N 加一位。既然是 N 加一位,大家总结一下,它在对于运算有所影响。你们可以琢磨一下,我增加了个 N 加一倍是吧?它的运算有什么?这个我们待会再说。

每一次。这个得到的部分机做右移操作,这个没什么问题是吧?因为我们源码一个也是部分机右的,这个也是部分机右,这个没有问题。每一次的运算是由 YN 和 YN 加一倍的值决定我做什么样的操作。原来我们判定为是 YN 现在变成了 YN 和 YN 加一这两位。

两位二进制数有 4 种状态是吧?那么大家一看一下这四种状态分别代表了什么东西?大家看一下这四种状态其中有两种状态,就 YN 和 YN 加一同零同 1,部分鸡又一位,部分鸡又一位。这个话说的不完整,应该是部分积加零右移,加零右移就是同林同 1 的情况下是部分机加零右。这个不太准确,因为你算我的这个加法次数的时候,你不加里不把加里那个次算下来,你始终是算不对的,是吧?也就说我 YN 和 YN 加一同零同 1 的时候,是加零部分积又又一只有一人一要求大家注意一下,如果这两位为什么?

V01 部分积加 X5,然后又以如果是 10,则部分一加负 X5,负 X 的 5 押回。这个规则我有 X 有负 X 是吧,这个跟原来不太一样是吧?好,这是我们的规则。

三是基于 YA 和 YN 加一进行操作判定。实际上是四种状态,两种状态同龄同 1 是加零又 110101 要么加 X 股,要么加负 X 是吧?然后一位按照什么?补码右移规则进行,补码右移规则。这地方也是要大家小心的地方,是吧?待会我们再说,总共要做 N 加一次加法运算,N 次移位,第 N 次 N 最后一次不移位,N 加一次加法 N 是一位,且最后一次是一位 OK,这个记住,好。那么还是我们给出两个数,X 是负的 0.1101,Y 是正的 0.1011,求 X 乘 Y 的结果。

前面我们讲到原码一位,下面咱们看一下基于 boss 的补码一位怎么算是怎么算的。首先按照规则写出什么?X 补码,Y 的补码和负 X 的补码。其中 X 补码是 1.0011 给寄存器 BY 的补码,因为这是正数,那补码都一样,Y 等于正的 0.1011 初值负给 C 寄存器 A 数值为零。光这样还不行,我们因为我们在运算过程中可能要用到负 X 那么还要把负 X 补写出来,负 X5?那么变成了 0.1101。写出来这几个数以后,我们就可以按照规则进行补满一位的乘法运算。

首先大家看一下 AC 的初值情况,A 的初值为零,那么 C 的初值是 0.1011,0.1011。大家可以看一下,其中在 YN 为之后,追加了一个 YN 加一个初值为零。那么按照我们的规则,我们根据 YN 和 Y1 加 1 位的两位的状态来决定能做什么运算。此时咱们可以看一下。当前这位是这两位是 10 是吧,10 按照我们规则是加负 X 的补是吧,加负 X。

第一步 5 加负还是读单数一下补码运算,符号位是参与运算的。那么零加上另外一个数等于另外一个数,就是得到了负 X 的这部分积跟负 X 完全一样的,对吧?这做了一次加法,然后紧接着我要做一次一位。大家注意一下,我运算前是两个图码,运算后这个数也是补码表示是吧?这点大家一定要注意一下。OK 因为这补码表示,但是这因为这个文件是一个正数,因此我进行算术数以后,最高位和视频,是吧,这没什么好处是吧?OK 那么所有的数依次向右移动,那么 CU 的值原来是这个 0.1011 变成了 0.1011。

最近 YN 这边的零我们要签到,现在咱们看一下当前万 N 和 YN 价位是 11,按照我们的规则是加 0,然后右移是吧?加零右移。就咱们规则咱们江湖的规则有有个小 bug,就是他直接说有没有说家里,但是在实际操作过程中,我们是要加零的。因为你不加零就意味着我的 N 加一次的加法,你算不出这个结果来,是吧?家里有一,那这过程就我就不多啰嗦了是吧?

好,那么当前右 A 以后,当前的 YN 和 YN 加一位是什么?是 01。按照我们的规则,当前的这个部分基于。X 的图做加法运算。大家看一下 X5 由于是负数,因此它的符号位双号位是同样的,是吧?同样这个结果大家都能写出来,等于 11.0110。

好,大家看一下,琢磨一下这个数,我新得的货面积 11.0110,我做算术右移以后结果是多少?这个数 0011.0110110,我进行右移操作以后,右移出来的结果是多少?大家抬起头来一起来看一下。

11.1011,大家看一下,我就是按照负数的补码右移规则,最高数位是五个一。这道题如果你错的话,大概率在这个地方当中,大家听清楚就讲这是吧?这个地方我们是基于什么?负数的补码右移规则,因为前面咱们已经说的很清楚了,负数的补码右移规则,最高数值位补的是一。这样容易鼓励是吧?

你要考试的时候,类似于这种题,我就看这东西,就看这个疑问你移的对不对?比如说源码,因为我一看这加法就这个定位,那个就是两个数值最高的。如果有最高的定位的话,你怎么去写,敢不敢写?就这些东西,如果考试的时候或看你们作业的时候,这是我们观察的点?你考试或你帮别人看,因为第四章中有时候写下来也很多?

我们要求过程,要求过程的话,那么你敢不敢写这个,或者你帮同学去看的时候,你就看这个关键点,让他写这里。如果这写对了,大概率结果是对。如果是过程就在这个地方,你写错了,你觉得还需要看一眼吗?是吧?反正有时间以上。好一位以后,此时我判定是 10。

按照我们的规则,下一步要加什么负 X 做加法运算。那么大家注意下这个结果,看到的结果会成为什么东西,这两个相加结果应该是多少?记住我此时是做了做什么运算?要做这个要得到一个结果。大家看一下我的结果是不是跟大家想象的一样,0.100。这个数大家注意一下,不满符号位才算得到的结果就是是吧,这个你看看能不能算出来。OK 然后再 ok。

好,那么按照我们规则,我要做 N 加一次的加工作。现在我们做了四次还不行,我还能再做一次。那此次判定的什么原因?

01 按照我们前面大家知道 01 的话,我要下一步要做加 X5,因为它是最后一次,那么我就不做一位运算了。不做一位那么得到的就是他。大家说做到这一步,你的预算完成了吗?没有,那么你根据这个式子你会得到 X 乘 Y 的的形式是吧?大家可以看跟把这些数连在一起但是这不是我们最终结果,我们需要将 X 乘以 Y 的五化成 X 乘 Y 的增值的形式,才算得到了最终结果。

好,这道题不满一位,乘法规则就得到了。咱们就说期末考试这个计算是十分的题。你要得到这十分是吧?

第一步。你写出所提到老师告诉你的第一步,你写出 X5Y 负 X5 以及 A 的初值,写了这三行信息两份给是吧?然后过程大概有七分?大概有七分钟我就会看你觉得你犯错的关键点。比如在这儿,我说听前面都对,这一步错了,我扣你几分。如果最后一步你只给出什么还存在的图,没有真正的形式,后面分最后这一行值一分好吧?如果十分前面两分,后面是一分,看你想得多少分是吧?

OK 这样我们的原码一位乘法规则我们就讲到这里。在过去我们 72 学时的时候,还有竹马两位惩罚。现在杨老师也不要求,我们也就不啰嗦这事。好。贾老师最新版本的这个教材是写了家人的那个东西。

好,下面咱们看一下除法运算。坦率的讲,蒋老师的这个除法运算的规则书写这么多年了,他也没改是吧?总就简单的讲这个除法运算规则。假如写的太繁琐,那么需要大家拿出笔把我写的规则抄到书上,按照我要求的规则去写。

它的推导过程,我们也分为原码一位除法和补码一位除法。原码一位除法就是我们小学做除法运算,把这个过程我翻到计算机里面得到的。这个过程我就不啰嗦了是吧?一句话我们直接来真的。

事实上对于除法来说,我们最终要求大家掌握的是叫加减交替法。加减交替法分别成为原码加减交替法和补码加减交替。那么它的运算规则,一句话请同学们拿出,把原码除法移位规则写在书上。这书上没有这一页 PPT 请大家抄在书上,抄完了咱们再去讲这个出院是没有你不用看。就是除法,就原码加减交替法和除法加减法、加减交替法加上去,这块可能不是算的太好。

好,我想大家都写的差不多了。那么好,我们根据这个规则,因为这个规则应该来说跟咱们蒋老师所讲的规则应该是一致的,只不过这个规则更为简洁而已。首先对于原码加减交替法,对于除法计算,第一步我们完成什么?被除数减去除数,被除数减去除数是相当于被除数加上这个负负除数的一种形式,就绝对值是吧?因为我要我要什么用加法去替代减法,这段有点敏,反正这地方咱们得琢磨一下。首先原码加减交替法,我做绝对值的运算,这是大家要明确的这前提。第二点,在做绝对值运算的基础上,我要用减法变加法,那我怎么去做呢?

这咱起来看一下,在除法运算过程中,我需要三个寄存器 ABC 其中 A 存放被除数 X。这是初始状况。然后寄存器 B 放的是除数 YC 放的是商 Q 那么其这是初值的情况。那么 A 运算完以后,它存放被放大了若干倍的余数,而 C 这个是放的是商是吧?商这个是分别用哪个部分寄存器来进行去放?C 的寄存器是出自为零,那么。已知 X。和 Y 的值给大家发表示?

大家看一下 X 和 Y 它的数值部分分别都是五位?大家看一下这个 N 加一的这个 N 分别是几,这个跟我们做运算的次数是有关的。因为咱们题干告诉大家怎么样,我要做 N 加一次或者是 N 加二次的 java 运算标准情况下是做 N 加一次。非标准情况下会做 N 加。那么你大家要琢磨一下,什么情况下要做 N 加,什么情况下只做 N 加一是吧?这个大家琢磨一下。

刚才我已经也跟大家提示了,这个处理的过程跟大家想象的比较。你在哪呢?因为我们说过,既然源码运算,我做的是绝对值的计算,符号位单独来处理。但是在运算过程中,我要把减法变成加法,我要怎么做?减法变加法唯一的策略要套用什么无码的运算规则,不,然后你没法减法变加法。也就是说为什么我们计算机里面强调人马运算就在这里,只有它才能使我的减法变加法。

OK 那么好,我们一起来看一下。首先按照规矩,我把 ABC 的初值告诉大家。大家可以看一下 A 的绝对值放入到 A 也就是 X 的绝对值放到 AY 的绝对值放到 B 是吧?

然后。这个。就是一个负附。大家看一下,咱们教科书上用的是变种的概念。这个变种,这个是咱们蒋老师讲,事实上就是什么负的 Y 的绝对值给它取。就是变了。因为辩护的概念只有甲方这本教科书上有,别的教科书上没有。好,那休息五分钟。

就是 8 月 3 号是吧?

我下次,销售部。上次交的那个邮箱,那是。

好,那么咱们接着咱们刚内容学习。刚才我们说过了,在这那么这里的变化对应的是 Y 绝对,就是就 Y 绝对值减去 X 绝对值减去 Y 的绝对值,要变成 X 的绝对值加上负 Y 绝对值的对,就在这儿。因为尽管说我们做绝对值的运算,但是我们要还要来实现什么这个减法变加法,只能要用到这个补码形式。这个就是反正是比较难受,但是大家知道规则就行了。

好,首先我们知道 A 的初值放的是被除数 X 是吧?A 的初值是被除数 X 那么第一步按照咱们的规则是用被除数减去除数,相当于用被除数加上负 Y 绝对值的 OK。这块就相当减 Y 的绝对值在这。咱们说完这个没什么含糊的,得到结果是 11.10111 是吧?那么大家可以看一下这个数。

得到这个数,我们还是进行右移操作,右移操作是吧?右移操作就相当于我的余数,每次得到这个运算结果得到我们称为是余数。通过右移就是说白了,因为咱们运算过程是过去是这个是余这个余数位置不变,而运算过程发生改变。因为为了适合计算机的事的运行,我们做一个就反正相对位移,但是我们位置是固定的。

那么经过运算以后,大家可以看一下。由于我这个得到的新余数 11.10111,这边我们称为余数,它是一个负数是吧?因为这符号大家觉得这块怎么又变成符号位了?这个地方还有点难受,为什么呢?因为什么?我是做绝对,我虽然一开始我们讲是我做绝对是吧是吧?因为原来做绝对值运算,但是第二点,为了使你的绝对值能够实现减法操作,实际上在绝对值的前提下,我用到绝对值前提下的这个补码表示身上,这个就是要看成一个补码运算过程。听明白了,这有点绕,但是你说绕的都绕不出来是吧?

因为我要解决绝对值,两个 X 的绝对值减去 Y 的绝对值,我减法变加法。我们现在告诉大家违背套路什么?用补码运算过程实现减法变加法。就是咱们从教科书中 1000 到现在,我们只告诉你这一个途径,就是减法变加法,只能用补码的规则。因此这个结果我可以看成一种不满的运算。听明白了吧?因为这是这个原因,因此有的同学就在这儿,就是有过去的同学质疑我,质疑跟我说的很清楚了,就你要解决绝两个绝对值,X 绝对值 Y 绝对值这个减法如何变?

加法就是在绝对值前提基础上用这个绝对值补码表示来进行描述。因此得到了这个余数是一个符号位,是 11 开头的余数为负熵为零。大家注意下这个商为零,这个零是什么意思?我进行一个强行置位,尚林是张少林,是治病的过程。这是做了预算是吧?我负数就是我根据当前这个余数的结果来判定我的余数是几,是零还是。由于余数为负熵为零下一次,这个余数要做什么样的移位操作呢?

是左移还是右移呢?因为但是咱们前面负责人讲了,我做余数的左移操作。那么大家看一下它的移位的特点点是什么?我的话没有变化,数值位是吧?不是符号位,说应该是符号位没有变化,对数值位符号里面一起进行一个座机操作是吧?就是这个一就最高位扔到其他的顺势往往左移动是吧?

好,左移一位。大家看一下,如果我们现在就说假定一个情况,如果 11.01110 这个数我再做一次左移。结果多少?0911.01110,我再做一次索尼,他结果应该是多少?现在因为这两个数正好都不到位,正好相同的没什么变化。那么我就想问一下,如果 11 这里的 11.011110 再做一次左右,他应该左翼和结果是过程是吧?

这个待会咱们再看这个,就这道题最关键的就是在左移过程中,你数字怎么去摆放好。我左移完以后,实际上按照我们刚才的规则。你看一下我刚才规则,第一步做了减法操作是吧?然后我就根据余数来与当前就做减法之后得到的新余数的正还是负。我这一伤要治胃,然后什么还决定我下一次做什么操作。因为刚才得的余数为负是吧,我的商为零下一次做加余数的话,什么叫加减?加减标记法就在这。就加除数的运算 ok。

由于我这余数为零,余数为负熵为零下一次要做加这个加 Y 绝对值得操作。加完以后结果是多少?大家可以看一下结果是这样是吧?此时这个结果这个余数是一个正数,因此余数为零,商为零。

你们给我 AC 级联进行左移操作,拖出来定位空出来。此时我直接把上面这个一,我直接制备就行了。由于我此时我的商为这儿,不,我的余数为正,商为一。然后做一次左移,下一次要做减 Y 绝对值的工作是吧?这这一步也没什么,这一步没什么问题。那么下一次我要做一个减 Y 绝对值的工作,就将相当于将的外绝对值的股,得到这个结果是多少呢?

11.11010 是吧,此时这个数。是一个负数是吧?这个数是负数,余数维护我移位以后得到的那个商的最低位应该是。

一位以后我得到那个商,就这个商对于是吧,因为以后下一步我要加。Y 的绝对值是吧?Y 的绝对值。咱们可以看一下这一步应该得到什么样的数。

大家可以看一下,在移位过程中,这一步每一步的操作,咱们还是比较容易判断的是吧?这个我们就说到这,按照规则,我们要总共要做几次 java 几次运算呢?大家看一下,总共我完成了这个过程。刚才的就是证。因为我们做到这儿得到结果以后,得到这个结果,到时我加的时候 Y 的绝对值以后得到的是零点这个 0.00.10010。那么这个数是商,我们说这余数为正,商是一下一次做什么这个减 Y 绝对值的过程。大家可以看一下这个数在我做了第四次加法以后,对吧?第四次加法以后这个数 00.1。

刚才我问的是什么?11.0 我进行左移以后结果是多少?大家看一下我左移过程中得到什么样的数呢?01.00100。这位。只不过是在我运算过程中借用一个,不能算他一处好。下一次文章过程中把辩论给消掉,就有的同学做到这就不知道该怎么做是吧?

左移过程中有这个符号位的数,就是这个要反正是所有的书都会回避这件事。但是有同学说叫这个我只能这么说,因为尽管是绝对值运算,但是绝对值的运算过程中,我要实现绝对值的减法变加法。实际上在工作过程中我是要用到。补码的规则去做是吧?他讲的问题也就这一位。

通过左移操作我得到了 01.0010。那么这个 01 多少位?小数点前的两位多少位不一致?

没关系,鹦鹉作者做一次预算之后他会消除。因为我们说过了,坚持做补码运算符号未参与运算的,因此不影响。那么下一次我做一个减 Y 的平方相加,负 Y 绝对这个加负 Y 轴对称图做的过程中就可以消掉。

好,那么大家看一下我这里我的 X 和 Y 它的数值位为五位是吧?现在我已经完成了计算。当然按照我们这个原码加减交替法的规则,我要做 N 加一次或者是 N 加二次运算。那么我还就是按照这个规则的话,我做了五次之后,我不够最低的 N 加 X 因此我还要接着进行左移。然后再由于我的余数为正余数为正商之一,然后下一次要加这个就下次要减一个这个 Y 的绝对值。就是说我们下次做什么操作,是由当前这个余数是正还是负来决定?由这个余数为正为负这样一种规则。二如果为正商之一,下一次要做减法操作。如果余数为负熵为零下一次要做加法运算。

根据最后的去做的,那么做完以后,得到了一个。就在 DN 加一次运算里面得到结果是 11.0111,这个有数。这个余数是一个负数是吧?我们说按理说这应该是完成了,但是我们说还没有完成。因为我做绝对值的两个数的运算,不管你怎么算两个绝对值运算,你最终得到了这个余数是一个负数,显然是说不过去的是吧?就意味着我的第 N 加一次不应该做,那么这是一相当于这一次是通过减 Y 绝对值得到的是吧?那么第 N 加一次我做一个恢复,下一次我加一个 Y 的绝对值,是不是把第 N 加一次 N 加一次 N 加一次数,N 加二次的结果我做了个抵消是吧?

然后得到最后的结果,大家看一下第 N 加一次得到的结果由于是个负数,两个绝对值操作最后得到结果是一个负数,有点滑稽是吧?因此我做了一个第 N 加二次,因为这是减 Y 的绝对值,这是加的绝对值相当于第 N 加一次。第 N 加二次的操作是第 N 加一次的一个反操作,这是减 Y 绝对值,加 Y 绝对值两次一做,相当于我做了一个抵消,说作为抵消,像这个值到最后这个值跟第 N 次的结果是不是一样的,第 N 次都是一样。OK 要保证说第 N 加一对,第 N 加二次是否去做,由第 N 加一次的结果为正为负来决定。如果是 N 加一次得到这个结果是一个正数,我就不做 DN 加 24。如果是个负数,说明你想多了,你做一个加 Y 的绝对值,DN 加一层操作给抵消就 OK 了。

好,到了这一步之后,大家可以看一下,这是余数,我们要写出对应的值来。大家看一下当前 A 里面,由于我们数字不停的这个数不停的左移,相当的余数不停的在扩大。A 是余数,C 是商是吧?因此这道题。

商就是黄颜色跟 C 里面所表征的 0.10110,余数是当前的值乘以 2 的负 N 次方。因为你每次左移,每做一次都你把左移动的次数要冲击就 2 的 N 次方。二的你总共做了几次?实际上就是二的 N 次方,相当于它的第 N 加一次和 N 加二次作为抵消,相对应的是就移了这个数 2N 次方。那么最后得到的结果 X 除以 Y 负二倍是单独的。

然后这个余数商给大家给出来,这个过程。对大家还是有冲击力?既有绝对值的运算的过程的处理,也有结果的要求。是不是?挺麻烦的,但是没办法。

还有一点,在我们进行二进制运算过程中,因为我刚才给你的 X 和 Y 都是定点小数是吧?如果你预算结果得到一个不是定点小数会怎么样?是不很难看。因此在实际运算过程中,我们隐含一个条件,就是被除数的绝对值要小于除数。你等等于除数都不行,不能小于等于,只能小于。如果满足 X 绝对值小于 Y 的绝对值,我能保证我最终得到的结果是一个小于零的那就小于一的数是吧?你要不满足这个的话,你两个定点小数相除得到不是有定点小数。

计算机解释就是计算机的科学解释不过去是吧?还要保证这一点。我的前提为含前提就是 X 绝对值要小于 Y 的值。而且他解释了在原码加减标计划中层。

为什么要做 N 加一次?如果最终余数就在第 N 加一次运算,得到这个余数为负数,必须做的是根负余数,使之变为正。你就做 DN 加一次,就要保证我得到余数是一定要大于 0。OK 这个冲击还是比较大是吧?

但是说话说不来了。理解是有点费劲,但是不影响大家做题?你就按照规则以后又往里面套一些。这个原则当然就是你将来一句话,咱们分层次。你如果要是考试按照规则往里面套,就往里面算就行了,没什么含糊的。你说将来走上工作岗位,要远离你的慢慢的理解和掌握。他做的过程中哪个地方怎么着了,你都看清楚,尤其是在左翼过程中,11.000.1,我在这个余数的左移过程中,他应该知道想清楚对吧?

只要我们做绝对值的运算,但是还是有些特点,好吧,那么这块应该是坦率的一下,国外的书咱们没看几本。在国内的书,无论是几大权威教材,所谓的唐朔飞老师的、白晶晶老师的书,在这基本上是一样的。而且你看白素贞老师过去是新西北工业大学的老师,也就是咱们这一个工信部的所属院校的老师,写的书都一样。

好,这是除,这是原码加减交替法。好,下面咱们看一下补码加减交替。补码加减交替法这块,咱们书上讲的比较繁琐,这个规矩。请同学们拿出笔来,在你的书上写上这个补码加减交替法的处理规则。

好,咱们一起来看一下,这个补码加减交替法的规则。实际上是相当于对于蒋老师书上对于相关的理论的一个归纳总结。假如这个写的有点快,太繁琐,那么咱们把规则做的精简。事实上咱们的规则相当于对咱们教材中 88 页开始到 89 页 1 页半的内容一个书。

那么补码加减交替法的规则,跟原码加减交替法的规则,咱们一起来看一下它的区别在哪。第一步大家看一下它的区别,过去在原码加减交替法做除法运算时候,第一次我们是做原码的被除数减去除数的工作?而我们补码加减交替法的第一步,首先要判定被除数和除数是同号还是异号。如果同号做减法运算,如果异号是做加法算,这第一步判定规则是不一样。源码是直接做减法运算,而补码加减交替法第一步是根据被除数和除数是同号还是异号。同号减法,一号加法,这是第一步,就每一个环节的第一步都不一样。

第一步完成以后,大家看一下补码加减交替法的补码加减加减法和原码加加减减法。在运算过程中去根据规则二进行一个判定。比如说我们原码加减交替法主要根据余数是大于 0、小于零来判定我的商是多少,我下次做什么样的操作,而这里的不把加减交替法是根据余数和除数是同号还是异号来决定。这个跟前面大小判定是不一样的。

这个是同号异号的武器,如果余数和除数同号,则商为一,余数左移,下一次做减法操作就减除数。如果同余数和除数异号商为零,余数左移,下一次做加除数操作,就是同号商一下一次做减法,一号商林下一次做加法。也就是说我当我们第一步完成以后后,都是基于 N 则二对应的操作进行执行,总共做 N 加一次 java 计算 N 是一位是吧?N 是 N 加一次加法,N 是一位。那么这跟我们前面的那个原码加减交替法可以看一下是吧?

还要做 N 加一次或 N 加二次的这个加上预算而做这个大家可以看一下我们要做几次这个因为算了。总共做 N 次一位是吧?这个补码,补码加减标的话也是做 N 次 N 次。大家可以看一下,这个移位都是做 N 次,而加法要做 N 加 N 加至少 N 加一次是吧?大家可以看看一个,第 N 加一次是不做一位的,而源码的话第 N 加一次 N 加二次都不做,一味操作。这个就是这关键点的区别,大家要弄清楚。

好,最后一点是商末位恒之一 OK 那么已知 X 的绝对值,X 是正的 0.10000,Y 是负的 0.1010,求 X 除以 Y 那么按照我们规则,第一步我首先需要写出 X 的补码,Y 的负 X 负 Y 的平方对吧?这个跟我们前面的是有差异的这这个就是 X 补 Y 补。那么这第一行你的刚才我说了,这你要写出这些数据,我们是有相应的分值的。那么第一步 A 是吧,A 是放到被除数 X 的午马,这个 C 是放伤的对吧?

第一步按照我们的规则,首先判定什么?X 和 Y 是同号还是异号,同号相减,异号相加。咱们可以看一下,由于 X 和 Y 是异号,这个不是用 X 的绝对值加上 X 的补码,加上 Y 的补码就做加法运算对吧?得到了一个结果,11.1110。

由于这是第一步运算的结果,我们称为余数。根据余数的这个数跟这个除数是同号异号来判定这个我做出的操作。大家可以看一下,由余数和除数是同号,则上为一下一次做什么操作?减法操作是吧?减就加 Y 还有负 Y 的操作,然后做移位,然后加负 Y 就加减交替法,加一次减一次,加一次减一次。然后得到一位以后的余数与负 Y 的五做加法运算,得到的这个结果大家看一下是多少呢?

00 点这个 0110 这个数与 Y 的这个余数跟 Y 的补码是异号,因此我的伤是志玲是吧?下一次要做加法算。一位以后下次做加法预算。加 X 加 Y 的。那么大家可以看一下,得到这个数,同样这个数依然和这个余数依然和 Y 的符号是异号。结果继续商为零下一次,继续做这个加 Y 的组合操作是吧?咱们可以看一下,此时我得到的余数是一个 110 开头的根 Y 的补码是同号,因此商标至一商标之一。

之后我做一个下次做一个减 Y 的减 Y 的操作是吧?等于加负 Y 的,我们得到这个数,我总共做了 N 加一次,N 加一次就是 N 加一次,总共做了五次的加法,算此一位,最后得到这个数劳动之一是吧?那么这个过程大家应该来说我们这个过程没有什么特别大的变化。最关键一点,大家一定要记住规则。

做了做完这一步,因为我们得到这个就是用纯补码的表示。因此你需要对于这个补码要进行一个化,简化成争执的形式。我们说对于补码的运算是这个商的符号位和余数。符号位各是各就做到这一步。大家注意一下,做到这一步不需要画,直接写上就没问题是吧?大家看一下,商是有符号位的,余数也是有报,这个余数是可除矣什么这是除数外的值,三个数有三个符号直接写上,不需要挂机。

Ok 这样咱们第四章最为关键的内容,我们就讲到?下一次课就是浮点数的运算,五点钟就算。那么下一次课基本上我们可以把第四章结束。第四章结束以后,我打算下一次课,我会通知我一我就正常情况下应该我下一次能给大家上一次习题课,主要把第三章的给大家去说一下,好吧?今天宣布这。

对,因为我们近期的操作完之后。如果以后第一个中放大一左右底线,那么相当于。

这。上面。对,所以说最后两次就是一分加一次 10 分之 2 的就。同时要。

11 年如果交了,应该是。