1、zw3第3章 运算方法和运算部件3.1数据的表示方法和转换3.1.1数值型数据的表示和转换1. 数制2. 不同数制间的数据转换3. 数据符号的表示3.1.2十进制数的编码与运算3.2带符号的二进制数据在计算机中的表示方法及加减法运算3.2.1原码、补码、反码及其加减法运算1. 原码表示法2. 补码表示法图3.1实现加法运算的逻辑示例3. 反码表示法4. 数据从补码和反码表示形式转换成原码5. 整数的表示形式3.2.2加减法运算的溢出处理图3.2判溢出的逻辑图(之一)图3.3判溢出的逻辑图(之二)图3.4判溢出的逻辑图(之三)3.2.3定点数和浮点数1. 定点数2. 浮点数3. 计算机中数据的数
2、值范围和精度3.3二进制乘法运算3.3.1定点数一位乘法1. 定点原码一位乘法图3.5实现原码一位乘法的逻辑电路框图图3.6乘法运算的控制流程2. 定点补码一位乘法3.3.2定点数二位乘法3.3.3阵列乘法器图3.7阵列乘法器3.4二进制除法运算3.4.1定点除法运算1. 恢复余数法2. 加减交替法3.4.2提高除法运算速度的方法举例1. 跳0跳1除法2. 除法运算通过乘法操作来实现3.5浮点数的运算方法3.5.1浮点数的加减法运算图3.8规格化浮点数加减运算流程3.5.2浮点数的乘除法运算1. 浮点数的阶码运算2. 浮点数的舍入处理3. 浮点乘法运算步骤4. 浮点数乘法运算(阶码的底为8或1
3、6)5. 浮点数除法运算步骤3.6运算部件1. 定点运算部件图3.9定点运算部件的框图2. 浮点运算部件3.7数据校验码3.7.1奇偶校验码图3.10奇偶校验位的形成及校验3.7.2海明校验码图3.11(12,8)分组码海明校验线路图3.12判1位/2位错的附加线路3.7.3循环冗余校验(CRC)码1. CRC码的编码方法2. CRC的译码与纠错3. 关于生成多项式习题3.1把下列十进制数化成二进制数和八进制数(无法精确表示时,二进制数取3位小数,八进制数取1位小数): 7+3/4,3/64,73.5,725.9375,25.343.2把下列各数化成十进制数: (101.10011)2,(22
4、.2)8,(AD.4)163.3完成下列二进制运算: 101.111+11.011,1001.10-110.01,101.1111.01,10111011111013.4写出下列各二进制数的原码、补码和反码: 0.1010,0,-0,-0.1010,0.1111,-0.01003.5已知X原为下述各值,求X补:0.10100,1.10111,1.101103.6已知X补为下述各值,求X(真值):0.1110,1.1100,0.0001,1.1111,1.00013.7已知X=0.1011,Y=-0.0101,试求:X补,-X补,Y补,-Y补,X/2补,X/4补,2X补,Y/2补,Y/4补,2Y
5、补,-2Y补3.8设十进制数X=(+128.75)2-10。(1) 若(Y)2=(X)10,用定点数表示Y值。(2) 设用21个二进制位表示浮点数,阶码用5位,其中阶符用1位;尾数用16位,其中符号用1位。阶码的基数为2。写出阶码和尾数均用原码表示的Y的机器数。(3) 写出阶码和尾数均用反码表示Y的机器数。(4) 写出阶码和尾数均用补码表示Y的机器数。3.9设机器字长16位。定点表示时,数值15位,符号位1位;浮点表示时,阶码6位,其中阶符1位;尾数10位,其中数符1位,阶码的基数为2。试求: (1) 定点原码整数表示时,最大正数和最小负数各是多少?(2) 定点原码小数表示时,最大正数和最小负
6、数各是多少?(3) 浮点原码表示时,最大浮点数和最小浮点数各是多少?绝对值最小的呢(非0)?估算表示的十进制值的有效数字位数。3.10设机器字长16位,阶码7位,其中阶符1位;尾数9位,其中数符1位(阶码的基数为2)。若阶码和尾数均用补码表示,说明在尾数规格化和不规格化两种情况下,它所能表示的最大正数、非零最小正数、绝对值最大的负数以及绝对值最小的负数各是哪几个数?写出机器数,并给出十进制值(不采用隐藏位)。若阶码用移码,尾数仍用补码,上述各值有变化吗?若有变化,请列出。3.11按下列要求设计一个尽可能短的浮点数格式(阶的基数取2): (1) 数值范围为1.01038。(2) 有效数字为十进制
7、7位。(3) 0的机器数为全0。3.12写出下列各数的移码:+01101101,-11001101,-00010001,+000111013.13已知X和Y,求出8421码的X补、Y补和-Y补。(1) X=15Y=8(2) X=24Y=-16。3.14用补码运算计算下列各组数的和。(1) X=0.11001Y=-0.10111(2) X=0.10010Y=0.110003.15用补码运算计算下列各组数的差(X-Y)。(1) X=-0.01111Y=0.00101(2) X=0.11011Y=-0.100103.16已知下述X移和Y移,用移码运算求X+Y移和X-Y移。注意指出溢出情况。(1) X
8、移=01101111Y移=10101011(2) X移=11101111Y移=010101013.17用原码一位乘计算X=0.1101和Y=-0.1011的积XY。3.18用补码一位乘计算X=0.1010和Y=-0.0110的积XY。3.19X=-0.10110,Y=0.11111,用加减交替法原码一位除计算X/Y的商及余数。3.20用原码两位乘方法求XY。已知X=0.1011,Y=0.1101。3.21设浮点数X、Y的阶码(补码形式)和尾数(原码形式)如下: X: 阶码0001,尾数0.1010;Y: 阶码1111,尾数0.1001。设基数为2。(1) 求X+Y(阶码运算用补码,尾数运算用补
9、码)(2) 求XY(阶码运算用移码,尾数运算用原码一位乘)(3) 求X/Y(阶码运算用移码,尾数运算用原码加减交替法)3.22浮点加减乘除运算各在什么情况下会发生溢出?3.23设某运算器由一个加法器和A、B两个D型边沿寄存器组成,A、B均可接收加法器输出,A还可接收外部数据D,如右图。问: (1) 外部数据如何才能传送到B?(2) 如何实现A+BA和A+BB?(3) 如何估算加法执行时间?(4) 若A、B均为锁存器,实现A+BA和A+BB有何问题?3.24现有一串行加法器,计算两个n位数据之和(不带符号位),已知相加两数存放在A、B寄存器中,请画出能实现(A)+(B)A的逻辑图。图中只准用一个
10、一位加法器,逐位进行计算。3.25如果采用偶校验,下述两个数据的校验位的值是什么?(1) 0101010(2) 00110113.26设有16个信息位, 如果采用海明校验, 至少需要设置多少个校验位?应放在哪些位置上?3.27设有8位有效信息,试为之编制海明校验线路。说明编码方法,并分析所选方案具有怎样的检错与纠错能力。若8位信息为01101101,海明码是何值?3.28现有4个数: 00001111、11110000、00000000和11111111,请回答: (1) 其码距为多少?最多能纠正或发现多少位错?如果出现数据00011111,应纠正成什么数?当已经知道出错位时如何纠正?(2) 如果再加上两个数00110000和11001111(共6个数),其码距为多少?能纠正或发现多少位错?3.29现有4位二进制数,请回答: (1) 如果是无符号数,能表示的数据个数是多少?(2) 如果内有1位符号位,则用原码、补码或反码表示时,能表示的数据个数各是多少?3.30规格化浮点数阶码有P位,尾数有M位,各自包含1位符号位,且都用补码表示,该数的基数为2,请说出用这种格式能表示的全部不同的规格化数的总个数。当基数为8时,又能表示多少个规格化数(不考虑机器零)?
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1