第2章数据的表示及运算基础.ppt

第2章数据的表示及运算基础

溢出概念及判断方法 在定点数表示法中,要求参加运算的数以及运算的结果都必须保证落在该定点数所能表示的数值范围内。绝对值小于最小正数的数一般会被当成机器0处理,称为“下溢”;大于最大正数和小于绝对值最大负数的数都称为“上溢”。发生溢出时,计算机将暂时中止运算操作,进行溢出处理。 keywords 进制间转换,BCD码,ASCII码,汉字编码(输入码,内码,字模码),字符串的存放,定点整数和定点小数,浮点数,有符号数和无符号数,机器码,原码、补码和反码(三种编码的表示方法、表示范围),补码加减法运算,溢出及溢出的判断方法 ALU的逻辑图与逻辑表达式 多功能算术/逻辑运算单元ALU 多功能算术/逻辑运算单元ALU ALU的某一位逻辑表达式见下: 多功能算术/逻辑运算单元ALU 4位之间采用先行公式,每一位的进位公式可递推如下: Cn+1=Y0+X0Cn Cn+2=Y1+X1Cn+1 = Y1+Y0X1+X0X1Cn  Cn+3=Y2+X2Cn+2 = Y2+Y1X1+Y0X1X2+X0X1X2Cn Cn+4=Y3+X3Cn+3 = Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn 多功能算术/逻辑运算单元ALU 令G=Y3+Y2X3+Y1X2X3+Y0X1X2X3 P=X0X1X2X3 G为进位发生输出 P为进位传送输出 增加P和G的目的在于实现多片(组)ALU之间的先行进位,需要配合电路,称为先行进位发生器(CLA) 器件: 74181 * 675 * 商小于1,被除数小于除数; 除数不能为0 * * 舍入操作 * * 舍入操作 x = –1.5 ×1038, y = 1.5 ×1038, and z = 1.0 x + (y + z)= –1.5 ×1038+ (1.5 ×1038+ 1.0) = –1.5 ×1038+ (1.5 ×1038) = 0.0 (x + y) + z= (–1.5 ×1038+ 1.5 ×1038) + 1.0 = (0.0) + 1.0 = 1.0 x + (y + z) ≠(x + y) + z * * 2.7.4 浮点数的溢出 阶码上溢 超过了阶码可能表示的最大值的正指数值,一般将其认为是+∞和-∞。 阶码下溢 超过了阶码可能表示的最小值的负指数值,一般将其认为是0。 尾数上溢 两个同符号尾数相加产生了最高位向上的进位,将尾数右移,阶码增1来重新对齐。 尾数下溢 在将尾数右移时,尾数的最低有效位从尾数域右端流出,要进行舍入处理。 * * 2.7.5 IEEE 754浮点数格式(1) Exponent Significand 8位 23位 S Exponent Significand 11位 52位 S 32位浮点数格式: 64位浮点数格式: 规格化数 +1.xxxxxxxxxxtwo×2yyyytwo * * 阶码 8 bits single, 11 bits double 尾数 1+ 23 bits single, 1+ 52 bits double 为了表示更多的位数,尾数首位1隐含 阶码全为0,尾数部分全为0时,浮点数为0 32位浮点数表示范围 2.0 ×10-38to 2.0 ×1038 2.7.5 IEEE 754浮点数格式(2) * * 比较两个浮点数的大小,应遵循以下步骤 先比较符号位:负数〈正数 再比较阶码: 阶码大的数大 最后比较尾数:阶码相同,尾数大的数大 例:比较1.0X2-1(1/2)和1.0X2+1(2),补码. 如果阶码用整型数比较, 1/22? 阶码用移码表示 2.7.5 IEEE 754浮点数格式(3) * * 移码表示法 移码——用整数形式表示浮点数的阶码方法。 移码的定义: [X]移=2n +X ?(-2n = x 2n) n为阶码数值位(除符号位) ?移码的计算:先求出X的补码,再对其符号位取反或直接利用定义计算。 * * 移码的特点 在移码中,最高位为“0”表示负数,最高位为“1”表示正数。 移码为全0时,它所对应的真值最小,为全1时,它所对应的真值最大。因此,移码的大小比较直观地反映了真值的大小,这有助于比较两个浮点数阶码的大小。 真值0在移码中的表示形式是唯一的, 即[+0]移=[-0]移 = 100…0。 移码把真值映射到一个正数域,所以可将移码视为无符号数,直接按无符号数规则比较

文档评论(0)

1亿VIP精品文档

相关文档