⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第二章答案.htm

📁 这是计算机组成的一本习题集
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0072)http://www.hstc.edu.cn/xibu/sxx/teach/zcyl/ZJS032/ZJS03200/zjs032002.htm -->
<HTML><HEAD><TITLE>第二章</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<SCRIPT language=JavaScript>
<!--

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</SCRIPT>

<META content="MSHTML 6.00.2900.2802" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff 
onload="MM_preloadImages('../../image/zp0350004.jpg','../../image/zp0350012.jpg','../../image/zp0350008.jpg','../../image/zp0350010.jpg','../../image/zp0350014.jpg','../../IMAGE/zp0350010.jpg','../../IMAGE/zp0350014.jpg')">
<TABLE cellSpacing=0 cellPadding=0 border=0>
  <TBODY>
  <TR>
    <TD colSpan=3><IMG height=72 src="第二章答案.files/zp0350005.jpg" width=158><A 
      onmouseover="MM_swapImage('Image1','','../../image/zp0350004.jpg',1)" 
      onmouseout=MM_swapImgRestore() 
      href="http://www.hstc.edu.cn/xibu/sxx/teach/zcyl/ZJS032/ZJS03200/zjs032001.htm"><IMG 
      height=72 src="第二章答案.files/zp0350003.jpg" width=65 border=0 
      name=Image1></A><A 
      onmouseover="MM_swapImage('Image2','','../../image/zp0350012.jpg',1)" 
      onmouseout=MM_swapImgRestore() 
      href="http://www.hstc.edu.cn/xibu/sxx/teach/zcyl/ZJS032/zjs03201/zjs032010.htm"><IMG 
      height=72 src="第二章答案.files/zp0350011.jpg" width=62 border=0 
      name=Image2></A><A 
      onmouseover="MM_swapImage('Image3','','../../image/zp0350008.jpg',1)" 
      onmouseout=MM_swapImgRestore() 
      href="http://www.hstc.edu.cn/xibu/sxx/teach/zcyl/ZJS032/ZJS03200/zjs032005.htm" 
      target=_blank><IMG height=72 src="第二章答案.files/zp0350007.jpg" width=65 
      border=0 name=Image3></A><IMG height=72 src="第二章答案.files/zp0350009.jpg" 
      width=91 useMap=#Image4Map border=0 name=Image4><IMG height=72 
      src="第二章答案.files/zp0350013.jpg" width=123 useMap=#Image5Map border=0 
      name=Image5> <MAP name=Image4Map><AREA 
        onmouseover="MM_swapImage('Image4','','../../IMAGE/zp0350010.jpg',1)" 
        onmouseout=MM_swapImgRestore() shape=RECT coords=0,23,91,46 
        href="http://www.hstc.edu.cn/xibu/sxx/teach/zcyl/ZJS032/ZJS03200/zjs032002.htm"></MAP><MAP 
      name=Image5Map><AREA 
        onmouseover="MM_swapImage('Image5','','../../IMAGE/zp0350014.jpg',1)" 
        onmouseout=MM_swapImgRestore() shape=RECT coords=1,23,123,47 
        href="http://www.hstc.edu.cn/xibu/sxx/teach/zcyl/ZJS032/ZJS03200/zjs032003.htm"></MAP><IMG 
      height=72 src="第二章答案.files/zp0350006.jpg" width=136 useMap=#Map 
    border=0></TD></TR>
  <TR>
    <TD width=105 height=3611>
      <P>&nbsp;</P></TD>
    <TD width=605 height=3611><BR>
      <TABLE borderColor=#330033 width=159 border=2>
        <TBODY>
        <TR>
          <TD>
            <DIV align=center><FONT 
        size=2>第二章运算方法和运算器习题参考答案</FONT></DIV></TD></TR></TBODY></TABLE>
      <P><FONT size=2><B>1. 
      写出下列各数的原码、反码、补码、移码表示(用8位二进制数)。其中MSB是最高位(又是符号位)LSB是最低位。如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后。<BR>(1) 
      -35/64 (2) 23/128 (3) -127 (4) 用小数表示-1 (5) 
      用整数表示-1<BR><BR></B>解:(1)先把十进制数-35/64写成二进制小数:<BR>    (-35/64)<FONT 
      size=1>10</FONT>=(-100011/1000000)<FONT 
      size=1>2</FONT>=(-100011×2-110)<FONT size=1>2</FONT>=(-0.100011)<FONT 
      size=1>2</FONT><BR>    令x=-0.100011B<BR>    ∴ [x]<FONT 
      size=1>原</FONT>=1.1000110 (注意位数为8位) [x]<FONT 
      size=1>反</FONT>=1.0111001<BR>      [x]<FONT size=1>补</FONT>=1.0111010 
              [x]<FONT size=1>移</FONT>=0.0111010<BR><BR>  (2) 
      先把十进制数23/128写成二进制小数:<BR>    (23/128)<FONT 
      size=1>10</FONT>=(10111/10000000)<FONT size=1>2</FONT>=(10111×2-111)<FONT 
      size=1>2</FONT>=(0.0001011)<FONT 
      size=1>2</FONT><BR>    令x=0.0001011B<BR>    ∴ [x]<FONT 
      size=1>原</FONT>=0.0001011         [x]<FONT 
      size=1>反</FONT>=0.0001011<BR>      [x]<FONT size=1>补</FONT>=0.0001011 
              [x]<FONT size=1>移</FONT>=1.0001011</FONT></P>
      <P><FONT size=2>  (3) 先把十进制数-127写成二进制小数:<BR>    (-127)<FONT 
      size=1>10</FONT>=(-1111111)<FONT size=1>2</FONT><BR>    令x= 
      -1111111B<BR>    ∴ [x]<FONT size=1>原</FONT>=1.1111111         [x]<FONT 
      size=1>反</FONT>=1.0000000<BR>      [x]<FONT size=1>补</FONT>=1.0000001 
              [x]<FONT size=1>移</FONT>=1.0000001</FONT></P>
      <P><FONT size=2>  (4) 令x=-1.000000B<BR>    ∴ 原码、反码无法表示<BR>    [x]<FONT 
      size=1>补</FONT>=1.0000000           [x]<FONT 
      size=1>移</FONT>=0.0000000</FONT></P>
      <P><FONT size=2>  (5) 令Y=-1=-0000001B<BR>    ∴ [Y]<FONT 
      size=1>原</FONT>=10000001          [Y]<FONT 
      size=1>反</FONT>=11111110<BR>      [Y]<FONT size=1>补</FONT>=11111111 
               [Y]<FONT size=1>移</FONT>=01111111</FONT></P>
      <P><FONT size=2><B>2. 设[X]补= a<FONT size=1>0</FONT>,a<FONT 
      size=1>1</FONT>,a<FONT size=1>2</FONT>…a<FONT size=1>6</FONT> , 其中a<FONT 
      size=1>i</FONT>取0或1,若要x>-0.5,求a<FONT size=1>0</FONT>,a<FONT 
      size=1>1</FONT>,a<FONT size=1>2</FONT>,…,a<FONT size=1>6</FONT> 
      的取值。</B><BR><BR>解:a<FONT size=1>0</FONT>= 1,a<FONT size=1>1</FONT>= 0, 
      a<FONT size=1>2</FONT>,…,a<FONT size=1>6</FONT>=1…1。</FONT></P>
      <P><FONT size=2><B>3. 
      有一个字长为32位的浮点数,阶码10位(包括1位阶符),用移码表示;尾数22位(包括1位尾符)用补码表示,基数R=2。请写出:<BR>(1) 
      最大数的二进制表示;<BR>(2) 最小数的二进制表示;<BR>(3) 规格化数所能表示的数的范围;<BR>(4) 
      最接近于零的正规格化数与负规格化数。<BR></B><BR>解:(1)1111111111 
      0111111111111111111111<BR>  (2)1111111111 
      1000000000000000000000<BR>  (3)1111111111 
      0111111111111111111111~0111111111 
      1000000000000000000000<BR>  (4)0000000000 
      0000000000000000000001~0000000000 1111111111111111111111</FONT></P>
      <P><FONT size=2><B>4. 将下列十进制数表示成浮点规格化数,阶码3位,用补码表示;尾数9位,用补码表示。<BR>(1) 
      27/64<BR>(2) -27/64<BR></B><BR>解:(1)27/64=11011B×<IMG height=15 
      src="第二章答案.files/zp0310214.jpg" width=17>=0.011011B=0.11011B×<IMG 
      height=14 src="第二章答案.files/zp0310215.jpg" width=15><BR>    浮点规格化数 : 1111 
      0110110000</FONT></P>
      <P><FONT size=2>  (2) -27/64= -11011B×<IMG height=15 
      src="第二章答案.files/zp0310214.jpg" width=17>= -0.011011B= -0.11011B×<IMG 
      height=14 src="第二章答案.files/zp0310215.jpg" width=15><BR>    浮点规格化数 : 1111 
      1001010000<BR></FONT></P>
      <P><FONT size=2><B>5. 已知X和Y, 用变形补码计算X+Y, 同时指出运算结果是否溢出。<BR>(1)X=0.11011 
      Y=0.00011<BR>(2)X= 0.11011 Y= -0.10101<BR>(3)X=-0.10110 
      Y=-0.00001</B><BR><BR>解:(1)先写出x和y的变形补码再计算它们的和<BR>      [x]<FONT 
      size=1>补</FONT>=00.11011 [y]<FONT 
      size=1>补</FONT>=00.00011<BR>      [x+y]<FONT size=1>补</FONT>=[x]<FONT 
      size=1>补</FONT>+[y]<FONT 
      size=1>补</FONT>=00.11011+00.00011=0.11110<BR>      ∴ x+y=0.1111B 
      无溢出。<BR><BR>  (2)先写出x和y的变形补码再计算它们的和<BR>      [x]<FONT 
      size=1>补</FONT>=00.11011 [y]<FONT 
      size=1>补</FONT>=11.01011<BR>      [x+y]<FONT size=1>补</FONT>=[x]<FONT 
      size=1>补</FONT>+[y]<FONT 
      size=1>补</FONT>=00.11011+11.01011=00.00110<BR>      ∴ x+y=0.0011B 
      无溢出。<BR><BR>  (3)先写出x和y的变形补码再计算它们的和 <BR>      [x]<FONT 
      size=1>补</FONT>=11.01010 [y]<FONT 
      size=1>补</FONT>=11.11111<BR>      [x+y]<FONT size=1>补</FONT>=[x]<FONT 
      size=1>补</FONT>+[y]<FONT 
      size=1>补</FONT>=11.01010+11.11111=11.01001<BR>      ∴ x+y= -0.10111B 
      无溢出</FONT></P>
      <P><FONT size=2><B>6. 已知X和Y, 用变形补码计算X-Y, 同时指出运算结果是否溢出。<BR>(1) X=0.11011 Y= 
      -0.11111<BR>(2) X=0.10111 Y=0.11011<BR>(3) X=0.11011 
      Y=-0.10011</B><BR><BR>解:(1)先写出x和y的变形补码,再计算它们的差<BR>      [x]<FONT 
      size=1>补</FONT>=00.11011 [y]<FONT size=1>补</FONT>=11.00001 [-y]<FONT 
      size=1>补</FONT>=00.11111<BR>      [x-y]<FONT size=1>补</FONT>=[x]<FONT 
      size=1>补</FONT>+[-y]<FONT 
      size=1>补</FONT>=00.11011+00.11111=01.11010<BR>      ∵运算结果双符号不相等 ∴ 
      为正溢出<BR>       X-Y=+1.1101B<BR><BR>  (2)先写出x和y的变形补码,再计算它们的差<BR>      [x]<FONT 
      size=1>补</FONT>=00.10111 [y]<FONT size=1>补</FONT>=00.11011 [-y]<FONT 
      size=1>补</FONT>=11.00101<BR>      [x-y]<FONT 
      size=1>补</FONT>=00.10111+11.00101=11.11100<BR>      ∴ x-y= -0.001B 
      无溢出<BR><BR>  (3)先写出x和y的变形补码,再计算它们的差<BR>      [x]<FONT 
      size=1>补</FONT>=00.11011 [y]<FONT size=1>补</FONT>=11.01101 [-y]<FONT 
      size=1>补</FONT>=00.10011<BR>      [x-y]<FONT size=1>补</FONT>=[x]<FONT 
      size=1>补</FONT>+[-y]<FONT 
      size=1>补</FONT>=00.11011+00.10011=01.01110<BR>      ∵运算结果双符号不相等 ∴ 
      为正溢出<BR>      X-Y=+1.0111B</FONT></P>
      <P><FONT size=2><B>7. 用原码阵列乘法器、补码阵列乘法器分别计算X×Y。<BR>(1)X=0.11011 Y= 
      -0.11111<BR>(2)X=-0.11111 Y=-0.11011 
      <BR></B><BR>解:(1)用原码阵列乘法器计算:<BR><BR>   [x]<FONT size=1>补</FONT>=0.11011 
      [y]<FONT size=1>补</FONT>=1.00001<BR><BR>          (0) 1  1  0  1  1 
       <BR>        ×) (1) 0  0  0  0  1 
      <BR>     ----------------------------------<BR>          (0) 1  1  0  1 
       1<BR>        (0) 0  0  0  0  0 <BR>      (0) 0  0  0  0  0 <BR>    (0) 0 
       0  0  0  0<BR>  (0) 0  0  0  0  0<BR>(0) (1) (1) (0) (1) 
      (1)<BR>-----------------------------------------<BR>(1) 0  0  1  0  1  1 
       1  0  1  1 <BR> <BR>   [x×y]<FONT size=1>补</FONT>=1.0010111011<BR>  ∴ 
      x×y= -0.1101000101<BR></FONT></P>
      <P><FONT size=2><B>8. 用原码阵列除法器计算 X÷Y。<BR>(1)X=0.11000 Y= 
      -0.11111<BR>(2)X=-0.01011 Y=0.11001</B><BR><BR>解:(1)[x]<FONT 
      size=1>原</FONT>=[x]<FONT size=1>补</FONT>=0.11000   [-∣y∣]<FONT 
      size=1>补</FONT>=1.00001<BR>    <BR>          被除数 X 0.11000<BR>         
      +[-∣y∣]<FONT size=1>补</FONT> 
      1.00001<BR>       ----------------------<BR>          余数为负 1.11001 
      →q0=0<BR>            左移 1.10010<BR>          +[|y|]<FONT 
      size=1>补</FONT> 0.11111<BR>       ----------------------<BR>          余数为正 
      0.10001 →q1=1<BR>            左移 1.00010 <BR>          +[-|y|]<FONT 
      size=1>补</FONT> 1.00001<BR>       ----------------------<BR>          余数为正 
      0.00011 →q2=1 <BR>             左移 0.00110 <BR>          +[-|y|]<FONT 
      size=1>补</FONT> 1.00001<BR>       ----------------------<BR>          余数为负 
      1.00111 →q3=0<BR>            左移 0.01110<BR>          +[|y|]<FONT 
      size=1>补</FONT> 0.11111<BR>       ----------------------<BR>          余数为负 
      1.01101 →q4=0<BR>            左移 0.11010<BR>          +[|y|]<FONT 
      size=1>补</FONT> 0.11111<BR>       ----------------------<BR>          余数为负 
      1.11001 →q5=0<BR>          +[|y|]<FONT 
      size=1>补</FONT> 0.11111<BR>       ----------------------<BR>            余数 
      0.11000</FONT></P>
      <P><FONT size=2>    故 [x÷y]<FONT size=1>原</FONT>=1.11000 即 x÷y= 
      -0.11000B<BR>    余数为 0.11000B×<IMG height=18 
      src="第二章答案.files/zp0310221.jpg" width=32></FONT></P>
      <P><FONT size=2><B>9. 设阶为5位(包括2位阶符), 尾数为8位(包括2位数符), 阶码、尾数均用补码表示, 
      完成下列取值的[X+Y],[X-Y]运算:<BR>(1)X=<IMG height=16 
      src="第二章答案.files/zp0310222.jpg" width=34>×0.100101 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -