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

📄 9.2.4.2.htm

📁 建立《编译原理网络课程》的目的不仅使学生掌握构造编译程序的原理和技术
💻 HTM
字号:
<html>

<head>
<title>编译原理</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link type="text/css" rel="stylesheet" href="../css/specification.css">
</head>

<BODY>

<table align=right width=300>
<tr>
<td>
<img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='9.2.4.1.htm'" ></img></td>
<td>
<img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='9.2.4.3.htm'" ></img></td>
</tr>
</table>
<br><br>

<font class="title2">9.2.4.2 强度削弱</font><br>


<table>
<tr>
<td>&nbsp&nbsp&nbsp&nbsp</td>
<td class="content">
<p>
<font class = "definition2">强度削弱</font>是指用耗时少的操作代替耗时多的操作,如用加法代替乘法。请看下面的例子。
</p>
</td>
</tr>
</table>

<table><tr><td>&nbsp&nbsp&nbsp&nbsp</td>
<td class="content">
<p>
  在图9.11的流图的基本块B3中,每当j的值减1(j:=j-1)之后,t4的值变为t4:=4*(j-1)=4*j-4,即t4的值在原基础上减了4。可以看出:每一次循环中j的值减1;t4的值减4。那么可以用较快的加法计算(t4:=t4-4)代替较慢的乘法计算(t4:=4*j)--即强度削弱。
</td></tr></table>

<br>
<center>  <img src="images/9_11.gif"></center> 
<br>

<table><tr><td>&nbsp&nbsp&nbsp&nbsp</td>
<td class="content">
<p>
  应该注意到:当用t4:=t4-4代替t4:=4*j后,出现一个问题是第一次进B3时t4没有初值,所以在j本身置初值的那一块末尾给t4置初值4*j,即把这个语句放在了块B1的最后。
</td></tr></table>

<table><tr><td>&nbsp&nbsp&nbsp&nbsp</td>
<td class="content">
<p>
这里是以B3为例来说明强度削弱,其实B2中也有类似的情况。下面图9.12给出流图(a)经进行公共子表达式删除,复写传播,删除无用赋值和强度削弱优化后变成流图(b)。
</td></tr></table>

<br>
<center>  <img src="images/9_12.gif"></center> 
<br>

<br>
<table align=right width=300>
<tr>
<td>
<img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='9.2.4.1.htm'" ></img></td>
<td>
<img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='9.2.4.3.htm'" ></img></td>
</tr>
</table>

</BODY>
<html><script language="JavaScript">

⌨️ 快捷键说明

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