5.掌握定点数的表示和应用(主要是无符号数和有符号数的表示、机器数的定点表示、数的机器码表示);
定点数:小数点位置固定不变。
定点小数:小数点固定在数值位与符号位之间;
定点整数:小数点固定在数值位之后。
数的机器码表示:采用二进制表示形式的连同数符一起代码化了的数据,有原反补移码。
6.了解浮点数的表示和应用(主要是浮点数的格式、规格化浮点数、IEEE754标准);
任何一个R进制数N均可写成: (N)R=±SR±e 这其实就是一个科学计数法。
S是位数,代表数字N的有效数字;
R是基值,不同的机器,取值不同,计算机中常用的是2、4、8、16;
e是阶码,代表数字N小数点的实际位置。
浮点数:小数点不固定
按照上面方法转换后,任何二进制数都可以写成1.xxxx2±e,其中1是默认的,是个隐藏位。然后按照符号位、阶码(阶码先加上偏移量之后,转换成二进制的形式)、小数点后的数值填入,就能得到对应数字的浮点数二进制编码。
单精度浮点数:一般4个字节32位,1位符号位,8位存放阶码(偏移量为127),剩余23位填小数点后的数值;
双精度浮点数:一般8个字节64位,1位符号位,11位存放阶码(偏移量为1023),剩余52位填小数点后的数值。
IEEE754标准规定浮点数由:符号位S、指数部分E、尾数部分M,三部分组成。
7.理解定点数运算(主要是移位运算);
逻辑运算:
按位测:利用“逻辑与”操作可以屏蔽掉数据字中的某些位;
按位清:利用“逻辑与”可以将数据字的某些位清0;
按位置:利用“逻辑或”可以使数据字的某些位置1;
判符合或修改:利用异或特性。
移位操作:
逻辑移位:无符号数或纯逻辑代码使用
逻辑左移:按位左移,高位移出,低位添0,向左移出的最高位可保存到运算器的进位状态寄存器C中;
逻辑右移:按位右移,低位移出,高位添0,向右移出的最低位可保存到运算器的进位状态寄存器C中。
算术移位:带符号数使用
算术左移:按位左移,高位移出,低位添0,向左移出的最高位可保存到运算器的进位状态寄存器C中;
算术右移:按位右移,低位移出,高位添符号数,向右移出的最低位可保存到运算器的进位状态寄存器C中。
循环移位:实现循环式控制、高低字节的互换和多倍字长数据的算术、逻辑移位
不带进位循环(小循环):进位状态寄存器C中的内容不参与循环
左移:按位左移,高位移入低位,同时保存到C中;
右移:按位右移,低位移入高位,同时保存到C中。
带进位循环(大循环):进位状态寄存器C中的内容参与循环
左移:按位左移,高位移入C中,C中的内容移入低位;
右移:按位右移,低位移入C中,C中的内容移入高位。
进位状态寄存器C的初始值应该是0
8.掌握定点数运算(主要是加减法运算);
补码加法:
[x]补+[y]补 = [x+y]补
补码减法:
[x]补-[y]补=[x]补+[-y]补=[x-y]补
溢出判断与变形补码:
[x]补+[y]补=[s]补
溢出时判别信号为:OVR=1
根据两个操作数的符号与结果的符号判别溢出:
OVR=(xf⊕sf)*(yf⊕sf)
根据两数相加时产生的进位判别溢出:
用Cf表示符号位,C1表示数值最高位,如果对应为产生进位就为1,没有就为0
OVR=Cf⊕C1
采用变形补码进行运算:
用两个二进制位来表示符号位,保证至少有一个符号位是对的。
定点小数:[x]变形补=x(0≤x<1),4+x(-1≤x<0);mod 4
定点整数:[x]变形补=x(0≤x<2n),2n+2+x(-2n≤x<0);mod 2n+2
9.了解定点数运算(主要是乘法运算和除法运算);
计算器实现乘除的三种方式:
利用乘除运算子程序;
在加法器的基础上增加左、右移位及计算器等逻辑路线构成乘除运算部件;
设置专用的阵列乘除运算器;
定点数乘法运算:
原码乘法运算:
符号位单独处理,采用异或计算符号位。
原码一位乘法;
原码两位乘法;
补码乘法运算:
补码一位乘法;
快速乘法运算:
无符号数阵列乘法器;
带符号数阵列乘法器;
定点数除法运算:
原码除法运算:
原码恢复余数法;
原码不恢复余数法;
补码除法运算:
补码不恢复余数除法;
布斯除法;
阵列除法器:
可控加减单元;
不恢复余数除法阵列除法器;
10.理解浮点数运算(主要是加减法运算);了解浮点数运算(主要是乘除法运算);
浮点数加减运算:
对阶:使两个小数的阶码相同
尾数求和/差:对阶结束后,进行尾数加减运算
结果规格化;
舍入;
浮点运算溢出处理;
浮点乘除运算:
阶码运算及溢出判断;
尾数运算;