欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

计组第六章疑难笔记

程序员文章站 2022-09-17 09:12:27
写在前面:博主是一位普普通通的19届双非软工在读生,平时最大的爱好就是听听歌,逛逛B站。博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事,做自己以后不会留有遗憾的事,做自己觉得有意义的事,不浪费这大好的青春年华。博主写博客目的是记录所学到的知识并方便自己复习,在记录知识的同时获得部分浏览量,得到更多人的认可,满足小小的成就感,同时在写博客的途中结交更多志同道合的朋友,让自己在技术的路上并不孤单。目录: 1.小数定点机整数定点机 2.....

1.为何是以2n+1为模

计组第六章疑难笔记

这里 0 > x ≥ 2n(mod 2n+1)是之所以是以2n+1为模,是因为要求一个负数的补码的时候需要加上两次2n,第一次是求补码,第二次是要为补码加上符号位

2.那么为什么我们需要为补码加上符号位呢?

计组第六章疑难笔记

两个互为补数的两个数在计算机中的补数是相同的(10101四五位所以默认最高位被丢掉),所以为了区分两个互为补数的补数,我们需要为补码加上符号位

3.为何+0和-0的补码相同

(在字长为5位的计算机中)
我们知道+0和-0的补码都是是0.0000,因为当为+0的时候,原码等于补码为0.0000,由补码的定义
我们知道负数的补码=原码的反码+1,-0的原码是1.0000,那么其反码为1.1111,末尾加1得补码为
10.0000由于是一个五位机那么就会有进位丢失,所以前面的1应该舍去,所以补码还是0.0000

4.为何-1.0有补码

我们有一个公式:

一个负数的补码=模 - 该负数的绝对值对应的二进制(请自觉摒弃符号位这一概念,就是二进制)

如果对这个公式理解不够深刻的话,可以参考这一篇博客:

为啥八位的计算机可以用补码表示-128

根据补数的定义,我们可以使用2+[X]原= =[X],-1.0的原码为:-1.000 0000即求

2-1.000 0000=1.000 0000。所以八位小数定点机可以表示-1.0但是切记 -1.0是没有原码的

5. 数的浮点表示

规格化数:计算机规定浮点数的尾数用纯小数表示,即整数部分为0,将尾数最高位为1的浮点数称为规格化数

6.IEE754标准

IEE754标准里边的小数点的位置包含两个小数点,第一个小数点表示的是阶符小数点的位置,第二个表示尾数小数点的位置。由于规格化数的最高位是都是1所以我们可以把最高位隐含掉,用的时候再填上,这样可以增加尾数的表示范围

7.加减法溢出判断

计组第六章疑难笔记

一位符号位判断溢出,当两者是正数,符号位一定不会进位,如果最高有效位进位,那么就发生溢出,当两者都是负数,由于负数是用补码进行计算,符号位一定会进位,负数补码最高有效位和原码正好相反,所以当负数的最高有效位进位,由于与原码相反,那么原码就一定不会进位,所以就不会发生溢出,否则就会发生溢出

计组第六章疑难笔记

8.反向器

计组第六章疑难笔记

对X当中的数进行求补运算的时候,按位取反可以在加法器和寄存器之间加一个反向器,末位加1,可以使加法器最末位外来进位1达到负数求补的目的

9.原码一位乘ACC寄存器为啥是N+1位

这里部分积取取n+1位即ACC寄存器是n+1位,最高位存的不是符号位,而是低位数值部分相加以后向高位的进位,虽然小数乘以小数不会大于1,也就是不会向整数部分产生进位,但是部分积在没有移位之前最高位可以大于0,就比如下图的部分积第四次没移位之前,最高位是1
计组第六章疑难笔记
计组第六章疑难笔记

10.对原码两位乘的理解

计组第六章疑难笔记

当乘数的两位检测到11的时候,我们只需要做减去被乘数,然后再加上四倍的被乘数,在11位置加四倍的被乘数,可以交给11前面两位的乘数来做,因为11+1=100,也就是让11前面两位被乘数+1,再进行相应的操作,这个过程是触发器置1来实现,如果检测两位数的时候触发器为1,那么机器就会把这两位数加1然后再进行相应的操作

计组第六章疑难笔记

11.对浮点数加减法溢出的理解

计组第六章疑难笔记

这里的最大负数,由于2-1不是规格化数,而我们又要保证位数是规格化数,又要保证尾数最小,所以我们就要把尾数写成2-1+2-n

本文地址:https://blog.csdn.net/qq_45737068/article/details/108421256

相关标签: 计算机组成原理