使用有限类型和数量的运算操作实现一组给定功能的函数cctv_cctv_ZIPsy1.zip 458.43KB 立即下载资源文件列表:ZIP sy1.zip 大约有3个文件 sy1/ sy1/1.docx 482.26KB sy1/bits.c 11.87KB 资源介绍: 计算机组成原理实验要求 1、所有实验在IA-32+Linux+C+gcc 平台(开源项目平台)上进行; 2、所有实验要求在linux下创建与学号相关的用户,在此用户下编写调试代码; 例如:假设我的学号为1234567,则创建的用户名为sy1234567 3、请分别基于“计算机组成原理实验1.docx”和“实验1-数据表示实验要求”、“计算机组成原理实验2.docx”和“实验2-拆弹实验要求”、“计算机组成原理实验3.docx”和“实验3-缓冲区溢出攻击实验要求” 完成代码功能; <link href="/image.php?url=https://csdnimg.cn/release/download_crawler_static/css/base.min.css" rel="stylesheet"/><link href="/image.php?url=https://csdnimg.cn/release/download_crawler_static/css/fancy.min.css" rel="stylesheet"/><link href="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89790756/raw.css" rel="stylesheet"/><div id="sidebar" style="display: none"><div id="outline"></div></div><div class="pf w0 h0" data-page-no="1" id="pf1"><div class="pc pc1 w0 h0"><img alt="" class="bi x0 y0 w1 h1" src="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89790756/bg1.jpg"/><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">课<span class="ff2 fs1"> </span>程<span class="_ _0"></span><span class="ff2 fs1"> </span>实<span class="ff2 fs1"> </span>验<span class="_ _0"></span><span class="ff2 fs1"> </span>报<span class="ff2 fs1"> </span>告</div><div class="t m0 x2 h3 y2 ff3 fs2 fc0 sc0 ls0 ws0">课程名称<span class="_ _0"></span>:<span class="ff4 sc1"> <span class="_ _1"> </span></span><span class="ff5 fs3">计算机<span class="_ _0"></span>组成原理<span class="_ _0"></span></span><span class="ff4 sc1"> </span></div><div class="t m0 x3 h4 y3 ff5 fs4 fc0 sc0 ls0 ws0">专业班级:<span class="_ _0"></span><span class="ff4 sc1"> </span></div><div class="t m0 x3 h4 y4 ff5 fs4 fc0 sc0 ls0 ws0">学<span class="ff4 sc1"> <span class="_ _2"> </span></span>号:<span class="ff4 sc1"> </span></div><div class="t m0 x3 h4 y5 ff5 fs4 fc0 sc0 ls0 ws0">姓<span class="ff4 sc1"> <span class="_ _2"> </span></span>名:<span class="ff4 sc1"> </span></div><div class="t m0 x3 h4 y6 ff5 fs4 fc0 sc0 ls0 ws0">指导教师:<span class="_ _0"></span><span class="ff4 sc1"> </span></div><div class="t m0 x3 h4 y7 ff5 fs4 fc0 sc0 ls0 ws0">报告日期:<span class="_ _0"></span><span class="ff4 sc1"> <span class="_ _3"> </span> </span></div></div><div class="pi" data-data='{"ctm":[1.611830,0.000000,0.000000,1.611830,0.000000,0.000000]}'></div></div><div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89790756/bg2.jpg"><div class="c x0 y8 w0 h5"><div class="t m0 x4 h6 y9 ff6 fs5 fc0 sc1 ls0 ws0">1</div></div><div class="t m0 x5 h7 ya ff5 fs6 fc0 sc0 ls0 ws0">实验<span class="_ _4"> </span><span class="ff7">1</span>:<span class="ff7"> <span class="_ _0"></span> </span>数据表示<span class="ff7"> <span class="_ _0"></span> <span class="_ _0"></span> <span class="_ _0"></span> <span class="_ _0"></span> <span class="_ _0"></span> </span></div><div class="t m0 x5 h8 yb ff8 fs6 fc0 sc1 ls0 ws0">1.1 <span class="_ _5"> </span><span class="ff3 sc0">实验概述</span></div><div class="t m0 x6 h9 yc ff9 fs7 fc0 sc1 ls0 ws0">实验目的:更好地熟悉和掌握计算机中整数和浮点数的二进制编码表示。</div><div class="t m0 x6 h9 yd ff9 fs7 fc0 sc1 ls0 ws0">实验目标:加深对数据二进制编码表示的了解。</div><div class="t m0 x6 h9 ye ff9 fs7 fc0 sc1 ls0 ws0">实验要求:使用有限类型和数量的运算操作实现一组给定功能的函数。</div><div class="t m0 x6 h9 yf ff9 fs7 fc0 sc1 ls0 ws0">实验语言:<span class="ffa">c</span></div><div class="t m0 x6 h9 y10 ff9 fs7 fc0 sc1 ls0 ws0">实验环境:<span class="ffa">linux</span>、<span class="ffa">gcc</span></div><div class="t m0 x6 h9 y11 ff9 fs7 fc0 sc1 ls0 ws0">实验资料:<span class="ffa">datalab-handout.tar.gz</span></div><div class="t m0 x6 h9 y12 ff9 fs7 fc0 sc1 ls0 ws0">实验中<span class="ffa">,</span>你需要解开一系<span class="_ _0"></span>列编程<span class="ffa">“</span>难题<span class="ffa">”——<span class="ff5 sc0">使用有<span class="_ _0"></span>限类型和数<span class="_ _0"></span>量的运算<span class="_ _0"></span>操</span></span></div><div class="t m0 x5 h9 y13 ff5 fs7 fc0 sc0 ls0 ws0">作实现一组给<span class="_ _0"></span>定功能的函数<span class="ff9 sc1">。</span></div><div class="t m0 x6 h9 y14 ff9 fs7 fc0 sc1 ls0 ws0">可用的运算符:<span class="_ _6"></span><span class="ffa">“! ~ & ^ | + << >>”</span></div><div class="c x5 y15 w2 ha"><div class="t m0 x7 h9 y16 ff9 fs7 fc0 sc1 ls0 ws0">运算符</div></div><div class="c x8 y15 w3 ha"><div class="t m0 x9 h9 y16 ff9 fs7 fc0 sc1 ls0 ws0">描述</div></div><div class="c xa y15 w4 ha"><div class="t m0 x9 h9 y16 ff9 fs7 fc0 sc1 ls0 ws0">实例</div></div><div class="c x5 y17 w2 hb"><div class="t m0 xb h9 y18 ffa fs7 fc0 sc1 ls0 ws0">!</div></div><div class="c x8 y17 w3 hb"><div class="t m0 x9 h9 y18 ff9 fs7 fc0 sc1 ls0 ws0">逻辑非运算符。<span class="_ _7"></span>用来逆转操作数的逻辑状态。<span class="_ _7"></span>如</div><div class="t m0 x9 h9 y19 ff9 fs7 fc0 sc1 ls0 ws0">果条件为真则逻辑非运算符将使其为假。</div></div><div class="c xa y17 w4 hb"><div class="t m0 x9 h9 y18 ffa fs7 fc0 sc1 ls0 ws0">A && B <span class="ff9">为假,则</span></div><div class="t m0 x9 h9 y16 ffa fs7 fc0 sc1 ls0 ws0">!(A && B) <span class="ff9">为真。</span></div></div><div class="c x5 y1a w2 hb"><div class="t m0 xb h9 y18 ffa fs7 fc0 sc1 ls0 ws0">~</div></div><div class="c x8 y1a w3 hb"><div class="t m0 x9 h9 y18 ff9 fs7 fc0 sc1 ls0 ws0">按位取反运算符。<span class="_ _7"></span>是一元运算符,<span class="_ _7"></span>具有<span class="ffa">"</span>翻转<span class="ffa">"</span>位</div><div class="t m0 x9 h9 y19 ff9 fs7 fc0 sc1 ls0 ws0">效果,即<span class="_ _8"> </span><span class="ffa">0<span class="_ _8"> </span></span>变成<span class="_ _8"> </span><span class="ffa">1</span>,<span class="ffa">1<span class="_ _8"> </span></span>变成<span class="_ _8"> </span><span class="ffa">0</span>。</div></div><div class="c xa y1a w4 hb"><div class="t m0 x9 h9 y18 ffa fs7 fc0 sc1 ls0 ws0">~60 <span class="ff9">为</span> -61</div></div><div class="c x5 y1b w2 hb"><div class="t m0 xb h9 y18 ffa fs7 fc0 sc1 ls0 ws0">&</div></div><div class="c x8 y1b w3 hb"><div class="t m0 x9 h9 y18 ff9 fs7 fc0 sc1 ls0 ws0">按位与运算符。如果同时存在于两个操作数中,</div><div class="t m0 x9 h9 y19 ff9 fs7 fc0 sc1 ls0 ws0">二进制<span class="ffa"> AND </span>运算符复制一位到结果中。</div></div><div class="c xa y1b w4 hb"><div class="t m0 x9 h9 y18 ffa fs7 fc0 sc1 ls0 ws0">60 & 13 <span class="ff9">为</span> 12</div></div><div class="c x5 y1c w2 hc"><div class="t m0 xb h9 y1d ffa fs7 fc0 sc1 ls0 ws0">^</div></div><div class="c x8 y1c w3 hc"><div class="t m0 x9 h9 y1d ff9 fs7 fc0 sc1 ls0 ws0">按位异或运算符。<span class="_ _9"></span>如果存在于其中一个操作数中</div><div class="t m0 x9 h9 y1e ff9 fs7 fc0 sc1 ls0 ws0">但不同时存在于两个操作数中,<span class="_ _9"></span>二进制异或运算</div><div class="t m0 x9 h9 y19 ff9 fs7 fc0 sc1 ls0 ws0">符复制一位到结果中。</div></div><div class="c xa y1c w4 hc"><div class="t m0 x9 h9 y1d ffa fs7 fc0 sc1 ls0 ws0">60 ^ 13 <span class="ff9">为</span> 49</div></div><div class="c x5 y1f w2 hb"><div class="t m0 xb h9 y18 ffa fs7 fc0 sc1 ls0 ws0">|</div></div><div class="c x8 y1f w3 hb"><div class="t m0 x9 h9 y18 ff9 fs7 fc0 sc1 ls0 ws0">按位或运算符。<span class="_ _7"></span>如果存在于任一操作数中,<span class="_ _7"></span>二进</div><div class="t m0 x9 h9 y19 ff9 fs7 fc0 sc1 ls0 ws0">制<span class="ffa"> OR </span>运算符复制一位到结果中。</div></div><div class="c xa y1f w4 hb"><div class="t m0 x9 h9 y18 ffa fs7 fc0 sc1 ls0 ws0">60 | 13 <span class="ff9">为</span> 61</div></div><div class="c x5 y20 w2 ha"><div class="t m0 xb h9 y16 ffa fs7 fc0 sc1 ls0 ws0">+</div></div><div class="c x8 y20 w3 ha"><div class="t m0 x9 h9 y16 ff9 fs7 fc0 sc1 ls0 ws0">把两个操作数相加</div></div><div class="c x5 y21 w2 hb"><div class="t m0 xc h9 y18 ffa fs7 fc0 sc1 ls0 ws0"><<</div></div><div class="c x8 y21 w3 hb"><div class="t m0 x9 h9 y18 ff9 fs7 fc0 sc1 ls0 ws0">二进制左移运算符。<span class="_ _9"></span>左操作数的值向左移动右操</div><div class="t m0 x9 h9 y19 ff9 fs7 fc0 sc1 ls0 ws0">作数指定的位数。</div></div><div class="c xa y21 w4 hb"><div class="t m0 x9 h9 y18 ffa fs7 fc0 sc1 ls0 ws0">60 << 2 <span class="ff9">为<span class="_ _8"> </span></span>240</div></div><div class="c x5 y22 w2 hb"><div class="t m0 xc h9 y18 ffa fs7 fc0 sc1 ls0 ws0">>></div></div><div class="c x8 y22 w3 hb"><div class="t m0 x9 h9 y18 ff9 fs7 fc0 sc1 ls0 ws0">二进制右移运算符。<span class="_ _9"></span>左操作数的值向右移动右操</div><div class="t m0 x9 h9 y19 ff9 fs7 fc0 sc1 ls0 ws0">作数指定的位数。</div></div><div class="c xa y22 w4 hb"><div class="t m0 x9 h9 y18 ffa fs7 fc0 sc1 ls0 ws0">60 >> 2 <span class="ff9">为<span class="_ _8"> </span></span>15</div></div></div><div class="pi" data-data='{"ctm":[1.611830,0.000000,0.000000,1.611830,0.000000,0.000000]}'></div></div><div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89790756/bg3.jpg"><div class="c x0 y8 w0 h5"><div class="t m0 x4 h6 y9 ff6 fs5 fc0 sc1 ls0 ws0">2</div></div><div class="t m0 x5 h8 y23 ff8 fs6 fc0 sc1 ls0 ws0">1.2 <span class="_ _5"> </span><span class="ff3 sc0">实验内容</span></div><div class="t m0 x6 h9 y24 ff9 fs7 fc0 sc1 ls0 ws0">需要完成<span class="ff5 sc0">实验资料<span class="_ _a"> </span></span><span class="ffa">datalab-handout.tar.gz<span class="_ _a"> </span></span>中<span class="_ _b"> </span><span class="ffa">bits.c </span>的函数功能<span class="ffa">,</span>具体分</div><div class="t m0 x5 h9 y25 ff9 fs7 fc0 sc1 ls0 ws0">为三大类<span class="ffa">:</span>位操作、补码运算和浮点数操作。</div><div class="t m0 xd h9 y26 ff6 fs8 fc0 sc1 ls0 ws0">1<span class="ff9">)<span class="fs7">位操作</span></span></div><div class="t m0 x6 h9 y27 ff9 fs7 fc0 sc1 ls0 ws0">表<span class="_ _8"> </span><span class="ff6 fs8">1<span class="_"> </span></span>列出了<span class="_ _8"> </span><span class="ff6 fs8">bits.c<span class="_"> </span></span>中一组操作和测试位组的函数。<span class="_ _c"></span>其中,<span class="_ _6"></span>“级别<span class="ffa">”<span class="_ _c"></span><span class="ff9">栏指出各函</span></span></div><div class="t m0 x5 h9 y28 ff9 fs7 fc0 sc1 ls0 ws0">数的<span class="_ _0"></span>难<span class="_ _0"></span>度等<span class="_ _0"></span>级<span class="_ _0"></span>(对<span class="_ _0"></span>应<span class="_ _0"></span>于该<span class="_ _0"></span>函<span class="_ _0"></span>数的<span class="_ _0"></span>实验<span class="_ _0"></span>分<span class="_ _0"></span>值)<span class="_ _d"></span>,<span class="_ _6"></span><span class="ffa">“<span class="_ _0"></span><span class="ff9">功<span class="_ _0"></span>能</span>”<span class="_ _0"></span><span class="ff9">栏<span class="_ _0"></span>给出<span class="_ _0"></span>函<span class="_ _0"></span>数应<span class="_ _0"></span>实<span class="_ _0"></span>现的<span class="_ _0"></span>输出</span></span></div><div class="t m0 x5 h9 y29 ff9 fs7 fc0 sc1 ls0 ws0">(即功能)<span class="_ _6"></span>,<span class="_ _6"></span>“约束条件<span class="ffa">”<span class="_ _e"></span><span class="ff9">栏指出你的函数实现必须满足的编码规则<span class="_ _e"></span>(具体请查看</span></span></div><div class="t m0 x5 h9 y2a ff6 fs8 fc0 sc1 ls0 ws0">bits.c<span class="_"> </span><span class="ff9 fs7">中<span class="_ _0"></span>相应<span class="_ _0"></span>函数注<span class="_ _0"></span>释)<span class="_ _d"></span>,<span class="_ _6"></span><span class="ffa">“<span class="ff9">最<span class="_ _0"></span>多操<span class="_ _0"></span>作符<span class="_ _0"></span>数量<span class="_ _0"></span></span>”<span class="ff9">指<span class="_ _0"></span>出你<span class="_ _0"></span>的函数<span class="_ _0"></span>实现<span class="_ _0"></span>中允<span class="_ _0"></span>许使<span class="_ _0"></span>用的<span class="_ _0"></span>操</span></span></span></div><div class="t m0 x5 h9 y2b ff9 fs7 fc0 sc1 ls0 ws0">作符的最大数量。</div><div class="t m0 x5 h9 y2c ff9 fs7 fc0 sc1 ls0 ws0">表<span class="_ _8"> </span><span class="ff6 fs8">1 <span class="_"> </span></span>位操作题目列表</div><div class="c x5 y2d w5 hb"><div class="t m0 x7 h9 y18 ff9 fs7 fc0 sc1 ls0 ws0">级</div><div class="t m0 x7 h9 y19 ff9 fs7 fc0 sc1 ls0 ws0">别</div></div><div class="c xe y2d w6 hb"><div class="t m0 xf h9 y2e ff9 fs7 fc0 sc1 ls0 ws0">函数名</div></div><div class="c x10 y2d w7 hb"><div class="t m0 x11 h9 y2e ff9 fs7 fc0 sc1 ls0 ws0">功能</div></div><div class="c x12 y2d w8 hb"><div class="t m0 x13 h9 y2e ff9 fs7 fc0 sc1 ls0 ws0">约束条件</div></div><div class="c x14 y2d w9 hb"><div class="t m0 x15 h9 y18 ff9 fs7 fc0 sc1 ls0 ws0">最多操</div><div class="t m0 x15 h9 y19 ff9 fs7 fc0 sc1 ls0 ws0">作符数</div></div><div class="c x5 y2f w5 hb"><div class="t m0 x16 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">1</div></div><div class="c xe y2f w6 hb"><div class="t m0 x13 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">lsbZero</div></div><div class="c x10 y2f w7 hb"><div class="t m0 xf he y31 ff9 fs8 fc0 sc1 ls0 ws0">将<span class="ff6">x</span>的最低有效位(<span class="ff6">LSB</span>)清零</div></div><div class="c x12 y2f w8 hb"><div class="t m0 x15 he y32 ff9 fs8 fc0 sc1 ls0 ws0">仅能使用<span class="ff6">! ~ & </span></div><div class="t m0 xf hd y33 ff6 fs8 fc0 sc1 ls0 ws0">^ | + << >></div></div><div class="c x14 y2f w9 hb"><div class="t m0 xc hd y30 ff6 fs8 fc0 sc1 ls0 ws0">5</div></div><div class="c x5 y34 w5 hb"><div class="t m0 x16 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">2</div></div><div class="c xe y34 w6 hb"><div class="t m0 xf hd y30 ff6 fs8 fc0 sc1 ls0 ws0">byteNot</div></div><div class="c x10 y34 w7 hb"><div class="t m0 x17 he y32 ff9 fs8 fc0 sc1 ls0 ws0">将<span class="ff6">x</span>的第<span class="ff6">n</span>个字节取反(字节从<span class="ff6">LSB</span></div><div class="t m0 x18 he y35 ff9 fs8 fc0 sc1 ls0 ws0">开始到<span class="ff6">MSB</span>依次编号为<span class="ff6">0-3</span>)</div></div><div class="c x12 y34 w8 hb"><div class="t m0 x15 he y32 ff9 fs8 fc0 sc1 ls0 ws0">仅能使用<span class="ff6">! ~ & </span></div><div class="t m0 xf hd y33 ff6 fs8 fc0 sc1 ls0 ws0">^ | + << >></div></div><div class="c x14 y34 w9 hb"><div class="t m0 xc hd y30 ff6 fs8 fc0 sc1 ls0 ws0">6</div></div><div class="c x5 y36 w5 hf"><div class="t m0 x16 hd y37 ff6 fs8 fc0 sc1 ls0 ws0">2</div></div><div class="c xe y36 w6 hf"><div class="t m0 xf hd y37 ff6 fs8 fc0 sc1 ls0 ws0">byteXor</div></div><div class="c x10 y36 w7 hf"><div class="t m0 x19 he y38 ff9 fs8 fc0 sc1 ls0 ws0">比较<span class="ff6">x</span>和<span class="ff6">y</span>的第<span class="ff6">n</span>个字节(字节从</div><div class="t m0 x17 he y39 ff6 fs8 fc0 sc1 ls0 ws0">LSB<span class="ff9">开始到</span>MSB<span class="ff9">依次编号为</span>0-3<span class="ff9">)<span class="_ _d"></span>,</span></div><div class="t m0 x7 he y3a ff9 fs8 fc0 sc1 ls0 ws0">若不同,则返回<span class="ff6">1</span>;若相同,则返</div><div class="t m0 x1a he y35 ff9 fs8 fc0 sc1 ls0 ws0">回<span class="ff6">0</span></div></div><div class="c x12 y36 w8 hf"><div class="t m0 x15 he y39 ff9 fs8 fc0 sc1 ls0 ws0">仅能使用<span class="ff6">! ~ & </span></div><div class="t m0 xf hd y3b ff6 fs8 fc0 sc1 ls0 ws0">^ | + << >></div></div><div class="c x14 y36 w9 hf"><div class="t m0 x1b hd y37 ff6 fs8 fc0 sc1 ls0 ws0">20</div></div><div class="c x5 y3c w5 hb"><div class="t m0 x16 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">3</div></div><div class="c xe y3c w6 hb"><div class="t m0 x7 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">logicalAnd</div></div><div class="c x10 y3c w7 hb"><div class="t m0 x1c hd y30 ff6 fs8 fc0 sc1 ls0 ws0">x&& y</div></div><div class="c x12 y3c w8 hb"><div class="t m0 x15 he y32 ff9 fs8 fc0 sc1 ls0 ws0">仅能使用<span class="ff6">! ~ & </span></div><div class="t m0 xf hd y33 ff6 fs8 fc0 sc1 ls0 ws0">^ | + << >></div></div><div class="c x14 y3c w9 hb"><div class="t m0 x1b hd y30 ff6 fs8 fc0 sc1 ls0 ws0">20</div></div><div class="c x5 y3d w5 hb"><div class="t m0 x16 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">3</div></div><div class="c xe y3d w6 hb"><div class="t m0 x16 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">logicalOr</div></div><div class="c x10 y3d w7 hb"><div class="t m0 x1d hd y30 ff6 fs8 fc0 sc1 ls0 ws0">x|| y</div></div><div class="c x12 y3d w8 hb"><div class="t m0 x15 he y32 ff9 fs8 fc0 sc1 ls0 ws0">仅能使用<span class="ff6">! ~ & </span></div><div class="t m0 xf hd y33 ff6 fs8 fc0 sc1 ls0 ws0">^ | + << >></div></div><div class="c x14 y3d w9 hb"><div class="t m0 x1b hd y30 ff6 fs8 fc0 sc1 ls0 ws0">20</div></div><div class="c x5 y3e w5 hb"><div class="t m0 x16 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">3</div></div><div class="c xe y3e w6 hb"><div class="t m0 x16 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">rotateLeft</div></div><div class="c x10 y3e w7 hb"><div class="t m0 x1e he y31 ff9 fs8 fc0 sc1 ls0 ws0">将<span class="ff6">x</span>循环左移<span class="ff6">n</span>位</div></div><div class="c x12 y3e w8 hb"><div class="t m0 x15 he y32 ff9 fs8 fc0 sc1 ls0 ws0">仅能使用<span class="ff6">! ~ & </span></div><div class="t m0 xf hd y33 ff6 fs8 fc0 sc1 ls0 ws0">^ | + << >></div></div><div class="c x14 y3e w9 hb"><div class="t m0 x1b hd y30 ff6 fs8 fc0 sc1 ls0 ws0">25</div></div><div class="c x5 y3f w5 hb"><div class="t m0 x16 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">4</div></div><div class="c xe y3f w6 hb"><div class="t m0 x15 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">parityCheck</div></div><div class="c x10 y3f w7 hb"><div class="t m0 x7 he y32 ff9 fs8 fc0 sc1 ls0 ws0">若<span class="ff6">x</span>有奇数个<span class="ff6">1</span>,则返回<span class="ff6">1</span>;否则,</div><div class="t m0 x1f he y35 ff9 fs8 fc0 sc1 ls0 ws0">返回<span class="ff6">0</span></div></div><div class="c x12 y3f w8 hb"><div class="t m0 x15 he y32 ff9 fs8 fc0 sc1 ls0 ws0">仅能使用<span class="ff6">! ~ & </span></div><div class="t m0 xf hd y33 ff6 fs8 fc0 sc1 ls0 ws0">^ | + << >></div></div><div class="c x14 y3f w9 hb"><div class="t m0 x1b hd y30 ff6 fs8 fc0 sc1 ls0 ws0">20</div></div><div class="t m0 xd h9 y40 ffa fs7 fc0 sc1 ls0 ws0">2<span class="ff9">)补码运算</span></div><div class="t m0 xd h9 y41 ff9 fs7 fc0 sc1 ls0 ws0">表<span class="_ _8"> </span><span class="ffa">2<span class="_ _8"> </span></span>列出了<span class="_ _8"> </span><span class="ff6 fs8">bits.c<span class="_"> </span></span>中一组使用整数的补码表示的函数。<span class="_ _7"></span>可参考<span class="_ _8"> </span><span class="ff6 fs8">bits.c<span class="_"> </span></span>中注释说</div><div class="t m0 x5 h9 y42 ff9 fs7 fc0 sc1 ls0 ws0">明和<span class="_ _8"> </span><span class="ff6 fs8">tests.c<span class="_"> </span></span>中对应的测试函数了解其更多具体信息。</div></div><div class="pi" data-data='{"ctm":[1.611830,0.000000,0.000000,1.611830,0.000000,0.000000]}'></div></div><div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89790756/bg4.jpg"><div class="c x0 y8 w0 h5"><div class="t m0 x4 h6 y9 ff6 fs5 fc0 sc1 ls0 ws0">3</div></div><div class="t m0 x5 h9 y43 ff9 fs7 fc0 sc1 ls0 ws0">表<span class="_ _8"> </span><span class="ff7 sc0">2 </span>补码运算题目列表</div><div class="c x5 y44 wa hb"><div class="t m0 x15 h9 y18 ff9 fs7 fc0 sc1 ls0 ws0">级</div><div class="t m0 x15 h9 y19 ff9 fs7 fc0 sc1 ls0 ws0">别</div></div><div class="c x20 y44 wb hb"><div class="t m0 x21 h9 y2e ff9 fs7 fc0 sc1 ls0 ws0">函数名</div></div><div class="c x22 y44 wc hb"><div class="t m0 x23 h9 y2e ff9 fs7 fc0 sc1 ls0 ws0">功能</div></div><div class="c x24 y44 wd hb"><div class="t m0 x25 h9 y2e ff9 fs7 fc0 sc1 ls0 ws0">约束条件</div></div><div class="c x26 y44 we hb"><div class="t m0 x15 h9 y18 ff9 fs7 fc0 sc1 ls0 ws0">最多操</div><div class="t m0 x15 h9 y19 ff9 fs7 fc0 sc1 ls0 ws0">作符数</div></div><div class="c x5 y45 wa hb"><div class="t m0 x7 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">2</div></div><div class="c x20 y45 wb hb"><div class="t m0 x27 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">mul2OK</div></div><div class="c x22 y45 wc hb"><div class="t m0 x15 he y32 ff9 fs8 fc0 sc1 ls0 ws0">计算<span class="ff6">2*x</span>,如果不溢出,则</div><div class="t m0 x18 he y35 ff9 fs8 fc0 sc1 ls0 ws0">返回<span class="ff6">1</span>,否则,返回<span class="ff6">0</span></div></div><div class="c x24 y45 wd hb"><div class="t m0 x28 he y32 ff9 fs8 fc0 sc1 ls0 ws0">仅能使用<span class="ff6">~ & ^ | + </span></div><div class="t m0 x29 hd y33 ff6 fs8 fc0 sc1 ls0 ws0"><< >></div></div><div class="c x26 y45 we hb"><div class="t m0 x1b hd y30 ff6 fs8 fc0 sc1 ls0 ws0">20</div></div><div class="c x5 y46 wa hb"><div class="t m0 x7 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">2</div></div><div class="c x20 y46 wb hb"><div class="t m0 x1b hd y30 ff6 fs8 fc0 sc1 ls0 ws0">mult3div2</div></div><div class="c x22 y46 wc hb"><div class="t m0 x7 he y32 ff9 fs8 fc0 sc1 ls0 ws0">计算<span class="ff6">(x*3)/2</span>,朝零方向取</div><div class="t m0 x2a he y35 ff9 fs8 fc0 sc1 ls0 ws0">整</div></div><div class="c x24 y46 wd hb"><div class="t m0 x19 he y32 ff9 fs8 fc0 sc1 ls0 ws0">仅能使用<span class="ff6">! ~ & ^ | + </span></div><div class="t m0 x29 hd y33 ff6 fs8 fc0 sc1 ls0 ws0"><< >></div></div><div class="c x26 y46 we hb"><div class="t m0 x1b hd y30 ff6 fs8 fc0 sc1 ls0 ws0">12</div></div><div class="c x5 y47 wa hb"><div class="t m0 x7 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">3</div></div><div class="c x20 y47 wb hb"><div class="t m0 x2b hd y30 ff6 fs8 fc0 sc1 ls0 ws0">subOK</div></div><div class="c x22 y47 wc hb"><div class="t m0 x2c he y32 ff9 fs8 fc0 sc1 ls0 ws0">计算<span class="ff6">x –y</span>,如果不溢出,则</div><div class="t m0 x18 he y35 ff9 fs8 fc0 sc1 ls0 ws0">返回<span class="ff6">1</span>,否则,返回<span class="ff6">0</span></div></div><div class="c x24 y47 wd hb"><div class="t m0 x19 he y32 ff9 fs8 fc0 sc1 ls0 ws0">仅能使用<span class="ff6">! ~ & ^ | + </span></div><div class="t m0 x29 hd y33 ff6 fs8 fc0 sc1 ls0 ws0"><< >></div></div><div class="c x26 y47 we hb"><div class="t m0 x1b hd y30 ff6 fs8 fc0 sc1 ls0 ws0">20</div></div><div class="c x5 y48 wa hb"><div class="t m0 x7 hd y30 ff6 fs8 fc0 sc1 ls0 ws0">4</div></div><div class="c x20 y48 wb hb"><div class="t m0 x2b hd y30 ff6 fs8 fc0 sc1 ls0 ws0">absVal</div></div><div class="c x22 y48 wc hb"><div class="t m0 x2d he y31 ff9 fs8 fc0 sc1 ls0 ws0">求<span class="ff6">x</span>的绝对值</div></div><div class="c x24 y48 wd hb"><div class="t m0 x19 he y32 ff9 fs8 fc0 sc1 ls0 ws0">仅能使用<span class="ff6">! ~ & ^ | + </span></div><div class="t m0 x29 hd y33 ff6 fs8 fc0 sc1 ls0 ws0"><< >></div></div><div class="c x26 y48 we hb"><div class="t m0 x1b hd y30 ff6 fs8 fc0 sc1 ls0 ws0">10</div></div><div class="t m0 xd h9 y49 ffa fs7 fc0 sc1 ls0 ws0">3<span class="ff9">)浮点数操作</span></div><div class="t m0 xd h9 y4a ff9 fs7 fc0 sc1 ls0 ws0">表<span class="_ _8"> </span><span class="ffa">3<span class="_ _8"> </span></span>列出了<span class="_ _8"> </span><span class="ff6 fs8">bits.c<span class="_"> </span></span>中一组浮点数二进制表示的操作函数。<span class="_ _7"></span>可参考<span class="_ _8"> </span><span class="ff6 fs8">bits.c<span class="_"> </span></span>中注释</div><div class="t m0 x5 h9 y4b ff9 fs7 fc0 sc1 ls0 ws0">说明和<span class="_ _8"> </span><span class="ff6 fs8">tests.c<span class="_"> </span></span>中对应的测试函数了解其更多具体信息。注意<span class="_ _8"> </span><span class="ff6 fs8">float_abs<span class="_"> </span></span>的<span class="_ _0"></span>输入参数</div><div class="t m0 x5 h9 y4c ff9 fs7 fc0 sc1 ls0 ws0">和返回结果(以及<span class="_ _8"> </span><span class="ff6 fs8">float_f2i<span class="_"> </span></span>函数的输入参数)均为<span class="_ _8"> </span><span class="ff6 fs8">unsigned int<span class="_"> </span></span>类型,但应作为单</div><div class="t m0 x5 h9 y4d ff9 fs7 fc0 sc1 ls0 ws0">精度浮点数解释其<span class="_ _8"> </span><span class="ff6 fs8">32 bit<span class="_"> </span></span>二进制表示对应的值。</div><div class="t m0 x5 h9 y4e ff9 fs7 fc0 sc1 ls0 ws0">表<span class="_ _8"> </span><span class="ffa">3 </span>浮点数操作题目列表</div><div class="c x5 y4f wa hb"><div class="t m0 x15 h9 y18 ff9 fs7 fc0 sc1 ls0 ws0">级</div><div class="t m0 x15 h9 y19 ff9 fs7 fc0 sc1 ls0 ws0">别</div></div><div class="c x20 y4f wf hb"><div class="t m0 x13 h9 y2e ff9 fs7 fc0 sc1 ls0 ws0">函数名</div></div><div class="c x2e y4f w10 hb"><div class="t m0 x2f h9 y2e ff9 fs7 fc0 sc1 ls0 ws0">功能</div></div><div class="c x30 y4f w11 hb"><div class="t m0 x31 h9 y2e ff9 fs7 fc0 sc1 ls0 ws0">约束条件</div></div><div class="c x32 y4f w12 hb"><div class="t m0 x2c h9 y18 ff9 fs7 fc0 sc1 ls0 ws0">最多操</div><div class="t m0 x2c h9 y19 ff9 fs7 fc0 sc1 ls0 ws0">作符数</div></div><div class="c x5 y50 wa hc"><div class="t m0 x7 hd y3b ff6 fs8 fc0 sc1 ls0 ws0">2</div></div><div class="c x20 y50 wf hc"><div class="t m0 x19 hd y3b ff6 fs8 fc0 sc1 ls0 ws0">float_abs</div></div><div class="c x2e y50 w10 hc"><div class="t m0 x2c he y51 ff9 fs8 fc0 sc1 ls0 ws0">返回浮点数<span class="ff6">‘|f|’</span>的二进制</div><div class="t m0 x33 he y3a ff9 fs8 fc0 sc1 ls0 ws0">表示,当输入参数是</div><div class="t m0 x18 he y35 ff6 fs8 fc0 sc1 ls0 ws0">NaN<span class="ff9">时,返回</span>NaN</div></div><div class="c x30 y50 w11 hc"><div class="t m0 x7 he y51 ff9 fs8 fc0 sc1 ls0 ws0">仅能使用任何整型<span class="ff6">/</span>无符</div><div class="t m0 x15 he y3a ff9 fs8 fc0 sc1 ls0 ws0">号整型操作,包括<span class="ff6">||</span>,<span class="ff6">&&</span></div><div class="t m0 x16 he y35 ff9 fs8 fc0 sc1 ls0 ws0">以及<span class="ff6">if</span>,<span class="ff6">while</span>控制结构</div></div><div class="c x32 y50 w12 hc"><div class="t m0 x28 hd y3b ff6 fs8 fc0 sc1 ls0 ws0">10</div></div><div class="c x5 y52 wa hc"><div class="t m0 x7 hd y3b ff6 fs8 fc0 sc1 ls0 ws0">4</div></div><div class="c x20 y52 wf hc"><div class="t m0 xf hd y3b ff6 fs8 fc0 sc1 ls0 ws0">float_f2i</div></div><div class="c x2e y52 w10 hc"><div class="t m0 x34 he y53 ff9 fs8 fc0 sc1 ls0 ws0">返回浮点数<span class="ff6">‘f’</span>的强制整</div><div class="t m0 x1b he y54 ff9 fs8 fc0 sc1 ls0 ws0">型转换<span class="ff6">“(int)f”</span>表示</div></div><div class="c x30 y52 w11 hc"><div class="t m0 x7 he y51 ff9 fs8 fc0 sc1 ls0 ws0">仅能使用任何整型<span class="ff6">/</span>无符</div><div class="t m0 x15 he y3a ff9 fs8 fc0 sc1 ls0 ws0">号整型操作,包括<span class="ff6">||</span>,<span class="ff6">&&</span></div><div class="t m0 x16 he y35 ff9 fs8 fc0 sc1 ls0 ws0">以及<span class="ff6">if</span>,<span class="ff6">while</span>控制结构</div></div><div class="c x32 y52 w12 hc"><div class="t m0 x28 hd y3b ff6 fs8 fc0 sc1 ls0 ws0">30</div></div><div class="t m0 x5 h8 y55 ff8 fs6 fc0 sc1 ls0 ws0">1.3 <span class="_ _5"> </span><span class="ff3 sc0">实验设计</span></div><div class="t m0 x6 h9 y56 ff9 fs7 fc0 sc1 ls0 ws0">根据题目要求,选择合适的操作符来编写代码。</div><div class="t m0 x6 h9 y57 ff9 fs7 fc0 sc1 ls0 ws0">注意事项:</div><div class="t m0 x6 h9 y58 ffa fs7 fc0 sc1 ls0 ws0">1<span class="ff9">、实验资料包中包含以下文件:</span></div><div class="t m0 x5 he y59 ffa fs8 fc0 sc1 ls0 ws0">Makefile<span class="_ _f"> </span>- Makes btest, fshow, and ishow</div><div class="t m0 x5 he y5a ffa fs8 fc0 sc1 ls0 ws0">README<span class="_ _10"> </span>- This file</div></div><div class="pi" data-data='{"ctm":[1.611830,0.000000,0.000000,1.611830,0.000000,0.000000]}'></div></div>