SCAU 计算机组成原理 第二章 运算方法和运算器 知识点整理

第二章 运算方法和运算器

<由于我实在听的很懵,就边学边整理下吧>
2.1.1
1.计算机的数表示的时候需要考虑:要表示的数的类型、可能的数值的范围、数值的精确度、数据储存和处理所需要的硬件代价。

2.数据表示的格式有两种:定点格式和浮点格式

3.定点数的表示方法:
a.定点数故名思义,就是他的小数点的位置是固定的,通常要么规定在符号位的右边(纯小数),要么规定在最低位的右边(纯整数)。
b.如果表示是纯小数的话,范围就是 0 <= |x| <= 1-2-n, 整数的话就是 0 <= |x| < 2n -1

4.浮点数的表示方法:
a.在计算机中,二进制可以写成 N = 2e.M
b.M是浮点数的尾数,是一个纯小数,e是比例因子的指数,叫浮点数的指数。
c.因为在二进制中,每乘一次2就相当于小数点右移一位,这样的话,当我们想要表达一个小小数的时候,我们就可以看作一个纯小数M右移了e位。

SCAU 计算机组成原理 第二章 运算方法和运算器 知识点整理
d. 这里J是阶符,表示阶码的符号,S是数符,表示浮点数的符号,阶符J和阶码的m位合起来表示浮点数的表示范围和小数点的实际位置,n位尾数反映了浮点数的精度
e. 式子里面r是浮点数阶码的底在计算机中是隐含的,通常情况下r=2。E和M都是带符号的定点数,E叫做阶码,M叫做尾数。其中E的大小越大,能表示的数范围越大,M的位数越大,数的有效精度越高。
f. 简单地举一个例子,1.111×2100这里面1.111就是尾数,100就是阶码,显然这里阶码占的位数为3位,尾数占的位数是4位,假如阶码占的位数有4位,位数占的位数是3位(阶码和尾数所占位数总和不变),那么这个数就只能表示为1.11×2^0100,显然能表示的数的范围变大了,就这个例子来说原来尾数1.111转变为1.11损失了0.001,这就是精度的损失.

2.1.2
1.移码:
移码(又叫增码或偏置码)通常用于表示浮点数的阶码,其表示形式与补码相似,只是其符号位用“1”表示正数,用“0”表示负数,数值部分与补码相同。
①移码的定义:设由1位符号位和n位数值位组成的阶码,则 [X]移=2n-1 + X(-2n-1≤X<2n-1)
例如: n=5时
当X=+3,则[X]移=10011
当X=-3,则[X]移=01101 [2]

2.浮点数的机器表示:
a.当前计算机都是采用统一的 IEEE754标准中的格式表示浮点数。
b.SCAU 计算机组成原理 第二章 运算方法和运算器 知识点整理
例:
将176.0625表示为符合IEEE-754标准的单精度浮点数。
首先将176.0625化为二进制:10110000.0001
尾数规格化:1.01100000001×27,因此尾数域求出来了,为01100000001
阶码的移码:7的二进制为00000111,移码为10000110(7+127的二进制)。
拼接:0 10000110 01100000001000000000000
尾数域记得要补0使尾数有23位。

c.32位的浮点数中,S是浮点数的符号位,占1位,安排在最高位,S=0表示正数,S=1表示负数。AM是尾数,放在低位部分,占用23位,小数点位置放在尾数域最左(最高)有效位的右边。E是阶码,占用8位,阶符采用隐含方式,即采用移码方法来表示正负指数。采用这种方式时,将浮点数的指数真值e变成阶码E时,应将指数e加上一个固定的偏置常数127,即E=e+127。

例:
-0.0110000的移码是什么?
把-0.0110000小数dao点前面的-0看成du是符号位zhi,所以-0.0110000可以写dao成1,0110000(符号位0为正数,1为负数回)。答
1,0110000的反码=1,1001111(负数的反码求法:符号位不变,二进制码依次取反,即0变1,1变0);
1,1001111的补码=1,1010000(负数补码的求法:负数反码的最低位加1);
所以1,1010000的移码是0,1010000(移码和补码的符号位相反,二进制码一样)。
思路是:先求出负数的反码,再求补码,最后就可求出移码。注意括号中的提示。