<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/6253b14774bc5c010509af6c/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/6253b14774bc5c010509af6c/bg1.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">67</div><div class="t m0 x2 h3 y2 ff1 fs1 fc0 sc0 ls1 ws0">CHAPTER</div><div class="t m0 x3 h4 y3 ff1 fs2 fc0 sc0 ls2 ws0">4</div><div class="t m0 x4 h5 y4 ff2 fs3 fc0 sc0 ls3 ws1">DSP Software </div><div class="t m0 x5 h6 y5 ff1 fs4 fc0 sc0 ls4 ws2">DSP applications are usually programmed in the same languages as other science and engineering</div><div class="t m0 x5 h6 y6 ff1 fs4 fc0 sc0 ls5 ws3">tasks, such as: C, BASIC and assembly. The power and versatility of C makes it the language</div><div class="t m0 x5 h6 y7 ff1 fs4 fc0 sc0 ls6 ws4">of choice for computer scientists and other professional programmers. On the other hand, the</div><div class="t m0 x5 h6 y8 ff1 fs4 fc0 sc0 ls7 ws5">simplicity of BASIC makes it ideal for scientists and engineers who only occasionally visit the</div><div class="t m0 x5 h6 y9 ff1 fs4 fc0 sc0 ls8 ws6">programming world. Regardless of the language you use, most of the important DSP software</div><div class="t m0 x5 h6 ya ff1 fs4 fc0 sc0 ls9 ws7">issues are buried far below in the realm of whirling ones and zeros. This includes such topics as:</div><div class="t m0 x5 h6 yb ff1 fs4 fc0 sc0 lsa ws8">how numbers are represented by bit patterns, round-off error in computer arithmetic, the</div><div class="t m0 x5 h6 yc ff1 fs4 fc0 sc0 lsb ws9">computational speed of different types of processors, etc. This chapter is about the things you</div><div class="t m0 x5 h6 yd ff1 fs4 fc0 sc0 lsc wsa">can do at the <span class="ff3 lsd wsb">high level</span><span class="lse wsc"> to avoid being trampled by the <span class="ff3 lsf wsd">low level</span><span class="ls10 wse"> internal workings of your</span></span></div><div class="t m0 x5 h6 ye ff1 fs4 fc0 sc0 ls11 ws0">computer.<span class="fs5 ls12 wsf"> </span></div><div class="t m0 x5 h7 yf ff2 fs6 fc0 sc0 ls13 ws10">Computer Numbers</div><div class="t m0 x6 h8 y10 ff1 fs5 fc0 sc0 ls14 ws11">Digital computers are very proficient at storing and recalling numbers;</div><div class="t m0 x6 h8 y11 ff1 fs5 fc0 sc0 ls15 ws12">unfortunately, this process isn't without error. For example, you instruct your</div><div class="t m0 x6 h8 y12 ff1 fs5 fc0 sc0 ls16 ws13">computer to store the number: 1.41421356. The computer does its best, storing</div><div class="t m0 x6 h8 y13 ff1 fs5 fc0 sc0 ls17 ws14">the closest number it <span class="ff3 ls18 ws0">can</span><span class="ls19 ws15"> represent: 1.41421354. In some cases this error is</span></div><div class="t m0 x6 h8 y14 ff1 fs5 fc0 sc0 ls1a ws16">quite insignificant, while in other cases it is disastrous. As another illustration,</div><div class="t m0 x6 h8 y15 ff1 fs5 fc0 sc0 ls1b ws17">a classic computational error results from the addition of two numbers with</div><div class="t m0 x6 h8 y16 ff1 fs5 fc0 sc0 ls1c ws18">very different values, for example, 1 and 0.00000001. We would like the</div><div class="t m0 x6 h8 y17 ff1 fs5 fc0 sc0 ls1d ws19">answer to be 1.00000001, but the computer replies with 1. An understanding</div><div class="t m0 x6 h8 y18 ff1 fs5 fc0 sc0 ls1e ws1a">of how computers store and manipulate numbers allows you to anticipate and</div><div class="t m0 x6 h8 y19 ff1 fs5 fc0 sc0 ls1f ws1b">correct these problems <span class="ff3 ls20 ws0">before</span><span class="ls21 ws1c"> your program spits out meaningless data. </span></div><div class="t m0 x6 h8 y1a ff1 fs5 fc0 sc0 ls22 ws1d">These problems arise because a fixed number of bits are allocated to store each</div><div class="t m0 x6 h8 y1b ff1 fs5 fc0 sc0 ls23 ws1e">number, usually 8, 16, 32 or 64. For example, consider the case where eight</div><div class="t m0 x6 h8 y1c ff1 fs5 fc0 sc0 ls24 ws1f">bits are used to store the value of a variable. Since there are 2</div><div class="t m0 x7 h9 y1d ff1 fs7 fc0 sc0 ls25 ws0">8</div><div class="t m0 x8 h8 y1c ff1 fs5 fc0 sc0 ls26 ws20"> = 256</div><div class="t m0 x6 h8 y1e ff1 fs5 fc0 sc0 ls27 ws21">possible bit patterns, the variable can only take on 256 different values. This</div><div class="t m0 x6 h8 y1f ff1 fs5 fc0 sc0 ls28 ws22">is a fundamental limitation of the situation, and there is nothing we can do</div><div class="t m0 x6 h8 y20 ff1 fs5 fc0 sc0 ls29 ws23">about it. The part we <span class="ff3 ls18 ws0">can</span><span class="ls2a ws24"> control is what value we declare each bit pattern</span></div></div><div class="pi" data-data='{"ctm":[1.839080,0.000000,0.000000,1.839080,0.000000,0.000000]}'></div></div>
</body>
</html>
<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="https://static.pudn.com/prod/directory_preview_static/6253b14774bc5c010509af6c/bg2.jpg"><div class="t m0 x9 h2 y21 ff3 fs0 fc0 sc0 ls2b ws25">The Scientist and Engineer's Guide to Digital Signal Processing<span class="_ _0"></span><span class="ff1 ls0 ws0">68</span></div><div class="t m0 xa h8 y22 ff1 fs5 fc0 sc0 ls2c ws26">to represent. In the simplest cases, the 256 bit patterns might represent the</div><div class="t m0 xa h8 y23 ff1 fs5 fc0 sc0 ls2d ws27">integers from 0 to 255, 1 to 256, -127 to 128, etc. In a more unusual scheme,</div><div class="t m0 xa h8 y24 ff1 fs5 fc0 sc0 ls2e ws28">the 256 bit patterns might represent 256 exponentially related numbers:</div><div class="t m0 xb h8 y25 ff1 fs5 fc0 sc0 ls2f ws29"> Everyone accessing the data must understand<span class="_ _1"></span><span class="fs0 ls0 ws0">1<span class="ls30">,<span class="_ _2"> </span></span>10<span class="ls30">,<span class="_"> </span></span>100<span class="ls30">,<span class="_ _2"> </span></span>1000<span class="ls30">,<span class="_ _2"> </span><span class="ff4 ls31">þ</span>,<span class="_ _2"> </span></span>10</span></div><div class="t m0 xc ha y26 ff1 fs8 fc0 sc0 ls12 ws0">254</div><div class="t m0 xd h2 y25 ff1 fs0 fc0 sc0 ls30 ws0">,<span class="_"> </span><span class="ls0">10</span></div><div class="t m0 xe ha y26 ff1 fs8 fc0 sc0 ls12 ws0">255</div><div class="t m0 xf h2 y25 ff1 fs0 fc0 sc0 ls30 ws0">.</div><div class="t m0 xa h8 y27 ff1 fs5 fc0 sc0 ls32 ws2a">what value each bit pattern represents. This is usually provided by an</div><div class="t m0 xa h8 y28 ff1 fs5 fc0 sc0 ls33 ws2b">algorithm or formula for converting between the represented value and the</div><div class="t m0 xa h8 y29 ff1 fs5 fc0 sc0 ls34 ws2c">corresponding bit pattern, and back again. </div><div class="t m0 xa h8 y2a ff1 fs5 fc0 sc0 ls35 ws2d">While many encoding schemes are possible, only two general formats have</div><div class="t m0 xa h8 y2b ff1 fs5 fc0 sc0 ls36 ws2e">become common, <span class="ff3 ls25 ws2f">fixed point</span><span class="ls37 ws30"> (also called integer numbers) and <span class="ff3 ls38 ws31">floating point</span></span></div><div class="t m0 xa h8 y2c ff1 fs5 fc0 sc0 ls39 ws32">(also called real numbers). In this book's BASIC programs, fixed point</div><div class="t m0 xa h8 y2d ff1 fs5 fc0 sc0 ls3a ws33">variables are indicated by the % symbol as the last character in the name, such</div><div class="t m0 xa h8 y2e ff1 fs5 fc0 sc0 ls3b ws34">as: I%, N%, SUM%, etc. All other variables are floating point, for example:</div><div class="t m0 xa h8 y2f ff1 fs5 fc0 sc0 ls3c ws35">X, Y, MEAN, etc. When you evaluate the formats presented in the next few</div><div class="t m0 xa hb y30 ff1 fs5 fc0 sc0 ls3d ws36">pages, try to understand them in terms of their <span class="ff5 ls3e ws0">range</span><span class="ls3f ws37"> (the largest and smallest</span></div><div class="t m0 xa hb y31 ff1 fs5 fc0 sc0 ls40 ws38">numbers they can represent) and their <span class="ff5 ls41 ws0">precision</span><span class="ls42 ws39"> (the size of the gaps between</span></div><div class="t m0 xa h8 y32 ff1 fs5 fc0 sc0 ls43 ws3a">numbers). </div><div class="t m0 x10 h7 y33 ff2 fs6 fc0 sc0 ls44 ws3b">Fixed Point (Integers)</div><div class="t m0 xa h8 y34 ff1 fs5 fc0 sc0 ls45 ws3c">Fixed point representation is used to store <span class="ff3 ls46 ws0">integers</span><span class="ls47 ws3d">, the positive and negative</span></div><div class="t m0 xa h8 y35 ff1 fs5 fc0 sc0 ls48 ws3e">whole numbers: <span class="_ _3"> </span><span class="ls49 ws3f">. High level programs, such as C and<span class="_ _4"></span><span class="ff4 fs0 ls31 ws0">þ<span class="_ _5"> </span><span class="ff6">&<span class="ff1 ls0">3<span class="ls30">,<span class="_ _5"></span></span></span>&<span class="ff1 ls0">2<span class="ls30">,<span class="_ _5"></span></span></span>&<span class="ff1 ls0">1<span class="ls30">,<span class="_ _6"> </span></span>0<span class="ls30">,<span class="_ _6"> </span></span>1<span class="ls30">,<span class="_ _7"> </span></span>2<span class="ls30">,<span class="_ _6"> </span></span>3<span class="ls30">,</span></span></span>þ</span></span></div><div class="t m0 xa h8 y36 ff1 fs5 fc0 sc0 ls4a ws40">BASIC, usually allocate 16 bits to store each integer. In the simplest case, the</div><div class="t m0 x11 h8 y37 ff1 fs5 fc0 sc0 ls4b ws41"> possible bit patterns are assigned to the numbers 0 through 65,535.<span class="_ _1"></span><span class="fs0 ls0 ws0">2</span></div><div class="t m0 x12 ha y38 ff1 fs8 fc0 sc0 ls12 ws0">16</div><div class="t m0 x13 h2 y37 ff6 fs0 fc0 sc0 ls31 ws0">'<span class="_ _2"> </span><span class="ff1 ls0">65<span class="ls30">,</span>536</span></div><div class="t m0 xa hb y39 ff1 fs5 fc0 sc0 ls4c ws42">This is called <span class="ff5 ls4d ws43">unsigned integer</span><span class="ls4e ws44"> format, and a simplified example is shown in</span></div><div class="t m0 xa h8 y3a ff1 fs5 fc0 sc0 ls4f ws45">Fig. 4-1 (using only 4 bits per number). Conversion between the bit pattern</div><div class="t m0 xa h8 y3b ff1 fs5 fc0 sc0 ls50 ws46">and the number being represented is nothing more than changing between base</div><div class="t m0 xa h8 y3c ff1 fs5 fc0 sc0 ls51 ws47">2 (binary) and base 10 (decimal). The disadvantage of unsigned integer is that</div><div class="t m0 xa h8 y3d ff1 fs5 fc0 sc0 ls52 ws48">negative numbers cannot be represented. </div><div class="t m0 xa hb y3e ff5 fs5 fc0 sc0 ls53 ws49">Offset binary<span class="ff1 ls54 ws4a"> is similar to unsigned integer, except the decimal values are</span></div><div class="t m0 xa h8 y3f ff3 fs5 fc0 sc0 ls55 ws0">shifted<span class="ff1 ls56 ws4b"> to allow for negative numbers. In the 4 bit example of Fig. 4-1, the</span></div><div class="t m0 xa h8 y40 ff1 fs5 fc0 sc0 ls57 ws4c">decimal numbers are offset by <span class="ff3 ls58 ws0">seven</span><span class="ls59 ws4d">, resulting in the 16 bit patterns</span></div><div class="t m0 xa h8 y41 ff1 fs5 fc0 sc0 ls5a ws4e">corresponding to the integer numbers -7 through 8. In this same manner,</div><div class="t m0 xa h8 y42 ff1 fs5 fc0 sc0 ls5b ws4f">a 16 bit representation would use 32,767 as an offset, resulting in a range</div><div class="t m0 xa h8 y43 ff1 fs5 fc0 sc0 ls5c ws50">between -32,767 and 32,768. Offset binary is not a standardized format,</div><div class="t m0 xa h8 y44 ff1 fs5 fc0 sc0 ls5d ws51">and you will find other offsets used, such 32,768. The most important use</div><div class="t m0 xa h8 y45 ff1 fs5 fc0 sc0 ls5e ws52">of offset binary is in ADC and DAC. For example, the input voltage range</div><div class="t m0 xa h8 y46 ff1 fs5 fc0 sc0 ls5f ws53">of -5v to 5v might be mapped to the digital numbers 0 to 4095, for a 12 bit</div><div class="t m0 xa h8 y47 ff1 fs5 fc0 sc0 ls60 ws0">conversion.</div><div class="t m0 xa hb y48 ff5 fs5 fc0 sc0 ls61 ws54">Sign and magnitude<span class="ff1 ls62 ws55"> is another simple way of representing negative integers.</span></div><div class="t m0 xa hb y49 ff1 fs5 fc0 sc0 ls63 ws56">The far left bit is called the <span class="ff5 ls64 ws57">sign bit</span><span class="ls65 ws58">, and is made a <span class="ff3 ls66 ws0">zero</span><span class="ls67 ws59"> for positive numbers,</span></span></div><div class="t m0 xa h8 y4a ff1 fs5 fc0 sc0 ls68 ws5a">and a <span class="ff3 ls69 ws0">one</span><span class="ls13 ws5b"> for negative numbers. The other bits are a standard binary</span></div><div class="t m0 xa h8 y4b ff1 fs5 fc0 sc0 ls6a ws5c">representation of the absolute value of the number. This results in one wasted</div><div class="t m0 xa h8 y4c ff1 fs5 fc0 sc0 ls6b ws5d">bit pattern, since there are two representations for zero, 0000 (positive zero)</div><div class="t m0 xa h8 y4d ff1 fs5 fc0 sc0 ls6c ws5e">and 1000 (negative zero). This encoding scheme results in 16 bit numbers</div><div class="t m0 xa h8 y4e ff1 fs5 fc0 sc0 ls6d ws5f">having a range of -32,767 to 32,767.</div></div><div class="pi" data-data='{"ctm":[1.839080,0.000000,0.000000,1.839080,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="https://static.pudn.com/prod/directory_preview_static/6253b14774bc5c010509af6c/bg3.jpg"><div class="t m0 x14 h2 y21 ff3 fs0 fc0 sc0 ls6e ws60">Chapter 4- DSP Software<span class="_ _8"> </span><span class="ff1 ls0 ws0">69</span></div><div class="t m0 x15 hc y4f ff1 fs9 fc0 sc0 ls6f ws61">FIGURE 4-1</div><div class="t m0 x15 hc y50 ff1 fs9 fc0 sc0 ls70 ws62">Common formats for fixed point (integer) representation. Unsigned integer is a simple binary format, but</div><div class="t m0 x15 hc y51 ff1 fs9 fc0 sc0 ls71 ws63">cannot represent negative numbers. Offset binary and sign & magnitude allow negative numbers, but they are</div><div class="t m0 x15 hc y52 ff1 fs9 fc0 sc0 ls72 ws64">difficult to implement in hardware. Two's complement is the easiest to design hardware for, and is the most</div><div class="t m0 x15 hc y53 ff1 fs9 fc0 sc0 ls73 ws65">common format for general purpose computing. </div><div class="t m0 x16 hd y54 ff1 fsa fc0 sc0 ls0 ws0">1111</div><div class="t m0 x16 hd y55 ff1 fsa fc0 sc0 ls0 ws0">1110</div><div class="t m0 x16 hd y56 ff1 fsa fc0 sc0 ls0 ws0">1101</div><div class="t m0 x16 hd y57 ff1 fsa fc0 sc0 ls0 ws0">1100</div><div class="t m0 x16 hd y58 ff1 fsa fc0 sc0 ls0 ws0">1011</div><div class="t m0 x16 hd y59 ff1 fsa fc0 sc0 ls0 ws0">1010</div><div class="t m0 x16 hd y5a ff1 fsa fc0 sc0 ls0 ws0">1001</div><div class="t m0 x16 hd y5b ff1 fsa fc0 sc0 ls0 ws0">1000</div><div class="t m0 x16 hd y5c ff1 fsa fc0 sc0 ls0 ws0">0111</div><div class="t m0 x16 hd y5d ff1 fsa fc0 sc0 ls0 ws0">0110</div><div class="t m0 x16 hd y5e ff1 fsa fc0 sc0 ls0 ws0">0101</div><div class="t m0 x16 hd y5f ff1 fsa fc0 sc0 ls0 ws0">0100</div><div class="t m0 x16 hd y60 ff1 fsa fc0 sc0 ls0 ws0">0011</div><div class="t m0 x16 hd y61 ff1 fsa fc0 sc0 ls0 ws0">0010</div><div class="t m0 x16 hd y62 ff1 fsa fc0 sc0 ls0 ws0">0001</div><div class="t m0 x16 hd y63 ff1 fsa fc0 sc0 ls0 ws0">0000<span class="_ _9"></span>0</div><div class="t m0 x17 hd y62 ff1 fsa fc0 sc0 ls0 ws0">1</div><div class="t m0 x17 hd y61 ff1 fsa fc0 sc0 ls0 ws0">2</div><div class="t m0 x17 hd y60 ff1 fsa fc0 sc0 ls0 ws0">3</div><div class="t m0 x17 hd y5f ff1 fsa fc0 sc0 ls0 ws0">4</div><div class="t m0 x17 hd y5e ff1 fsa fc0 sc0 ls0 ws0">5</div><div class="t m0 x17 hd y5d ff1 fsa fc0 sc0 ls0 ws0">6</div><div class="t m0 x17 hd y5c ff1 fsa fc0 sc0 ls0 ws0">7</div><div class="t m0 x17 hd y5b ff1 fsa fc0 sc0 ls0 ws0">8</div><div class="t m0 x17 hd y5a ff1 fsa fc0 sc0 ls0 ws0">9</div><div class="t m0 x17 hd y59 ff1 fsa fc0 sc0 ls0 ws0">10</div><div class="t m0 x17 hd y58 ff1 fsa fc0 sc0 ls0 ws0">11</div><div class="t m0 x17 hd y57 ff1 fsa fc0 sc0 ls0 ws0">12</div><div class="t m0 x17 hd y56 ff1 fsa fc0 sc0 ls0 ws0">13</div><div class="t m0 x17 hd y55 ff1 fsa fc0 sc0 ls0 ws0">14</div><div class="t m0 x17 hd y54 ff1 fsa fc0 sc0 ls0 ws0">15</div><div class="t m0 x18 he y64 ff1 fsb fc0 sc0 ls74 ws0">Decimal<span class="_ _a"> </span><span class="ls75 ws66">Bit Pattern</span></div><div class="t m0 x19 hd y54 ff1 fsa fc0 sc0 ls0 ws0">1111</div><div class="t m0 x19 hd y55 ff1 fsa fc0 sc0 ls0 ws0">1110</div><div class="t m0 x19 hd y56 ff1 fsa fc0 sc0 ls0 ws0">1101</div><div class="t m0 x19 hd y57 ff1 fsa fc0 sc0 ls0 ws0">1100</div><div class="t m0 x19 hd y58 ff1 fsa fc0 sc0 ls0 ws0">1011</div><div class="t m0 x19 hd y59 ff1 fsa fc0 sc0 ls0 ws0">1010</div><div class="t m0 x19 hd y5a ff1 fsa fc0 sc0 ls0 ws0">1001</div><div class="t m0 x19 hd y5b ff1 fsa fc0 sc0 ls0 ws0">1000</div><div class="t m0 x19 hd y5c ff1 fsa fc0 sc0 ls0 ws0">0111</div><div class="t m0 x19 hd y5d ff1 fsa fc0 sc0 ls0 ws0">0110</div><div class="t m0 x19 hd y5e ff1 fsa fc0 sc0 ls0 ws0">0101</div><div class="t m0 x19 hd y5f ff1 fsa fc0 sc0 ls0 ws0">0100</div><div class="t m0 x19 hd y60 ff1 fsa fc0 sc0 ls0 ws0">0011</div><div class="t m0 x19 hd y61 ff1 fsa fc0 sc0 ls0 ws0">0010</div><div class="t m0 x19 hd y62 ff1 fsa fc0 sc0 ls0 ws0">0001</div><div class="t m0 x19 hd y63 ff1 fsa fc0 sc0 ls0 ws0">0000<span class="_ _b"></span><span class="ls76">-7</span></div><div class="t m0 x1a hd y62 ff1 fsa fc0 sc0 ls76 ws0">-6</div><div class="t m0 x1a hd y61 ff1 fsa fc0 sc0 ls76 ws0">-5</div><div class="t m0 x1a hd y60 ff1 fsa fc0 sc0 ls76 ws0">-4</div><div class="t m0 x1a hd y5f ff1 fsa fc0 sc0 ls76 ws0">-3</div><div class="t m0 x1a hd y5e ff1 fsa fc0 sc0 ls76 ws0">-2</div><div class="t m0 x1a hd y5d ff1 fsa fc0 sc0 ls76 ws0">-1</div><div class="t m0 x1b hd y5c ff1 fsa fc0 sc0 ls0 ws0">0</div><div class="t m0 x1b hd y5b ff1 fsa fc0 sc0 ls0 ws0">1</div><div class="t m0 x1b hd y5a ff1 fsa fc0 sc0 ls0 ws0">2</div><div class="t m0 x1b hd y59 ff1 fsa fc0 sc0 ls0 ws0">3</div><div class="t m0 x1b hd y58 ff1 fsa fc0 sc0 ls0 ws0">4</div><div class="t m0 x1b hd y57 ff1 fsa fc0 sc0 ls0 ws0">5</div><div class="t m0 x1b hd y56 ff1 fsa fc0 sc0 ls0 ws0">6</div><div class="t m0 x1b hd y55 ff1 fsa fc0 sc0 ls0 ws0">7</div><div class="t m0 x1b hd y54 ff1 fsa fc0 sc0 ls0 ws0">8</div><div class="t m0 x1c he y64 ff1 fsb fc0 sc0 ls74 ws0">Decimal<span class="_ _a"> </span><span class="ls75 ws66">Bit Pattern</span></div><div class="t m0 x1d hd y54 ff1 fsa fc0 sc0 ls0 ws0">0111</div><div class="t m0 x1d hd y55 ff1 fsa fc0 sc0 ls0 ws0">0110</div><div class="t m0 x1d hd y56 ff1 fsa fc0 sc0 ls0 ws0">0101</div><div class="t m0 x1d hd y57 ff1 fsa fc0 sc0 ls0 ws0">0100</div><div class="t m0 x1d hd y58 ff1 fsa fc0 sc0 ls0 ws0">0011</div><div class="t m0 x1d hd y59 ff1 fsa fc0 sc0 ls0 ws0">0010</div><div class="t m0 x1d hd y5a ff1 fsa fc0 sc0 ls0 ws0">0001</div><div class="t m0 x1d hd y5b ff1 fsa fc0 sc0 ls0 ws0">0000</div><div class="t m0 x1d hd y5c ff1 fsa fc0 sc0 ls0 ws0">1000</div><div class="t m0 x1d hd y5d ff1 fsa fc0 sc0 ls0 ws0">1001</div><div class="t m0 x1d hd y5e ff1 fsa fc0 sc0 ls0 ws0">1010</div><div class="t m0 x1d hd y5f ff1 fsa fc0 sc0 ls0 ws0">1011</div><div class="t m0 x1d hd y60 ff1 fsa fc0 sc0 ls0 ws0">1100</div><div class="t m0 x1d hd y61 ff1 fsa fc0 sc0 ls0 ws0">1101</div><div class="t m0 x1d hd y62 ff1 fsa fc0 sc0 ls0 ws0">1110</div><div class="t m0 x1d hd y63 ff1 fsa fc0 sc0 ls0 ws0">1111</div><div class="t m0 x1e hd y65 ff1 fsa fc0 sc0 ls76 ws0">-7</div><div class="t m0 x1e hd y62 ff1 fsa fc0 sc0 ls76 ws0">-6</div><div class="t m0 x1e hd y66 ff1 fsa fc0 sc0 ls76 ws0">-5</div><div class="t m0 x1e hd y67 ff1 fsa fc0 sc0 ls76 ws0">-4</div><div class="t m0 x1e hd y68 ff1 fsa fc0 sc0 ls76 ws0">-3</div><div class="t m0 x1e hd y5e ff1 fsa fc0 sc0 ls76 ws0">-2</div><div class="t m0 x1e hd y69 ff1 fsa fc0 sc0 ls76 ws0">-1</div><div class="t m0 x1f hd y5c ff1 fsa fc0 sc0 ls0 ws0">0</div><div class="t m0 x1f hd y5b ff1 fsa fc0 sc0 ls0 ws0">0</div><div class="t m0 x1f hd y5a ff1 fsa fc0 sc0 ls0 ws0">1</div><div class="t m0 x1f hd y59 ff1 fsa fc0 sc0 ls0 ws0">2</div><div class="t m0 x1f hd y58 ff1 fsa fc0 sc0 ls0 ws0">3</div><div class="t m0 x1f hd y57 ff1 fsa fc0 sc0 ls0 ws0">4</div><div class="t m0 x1f hd y56 ff1 fsa fc0 sc0 ls0 ws0">5</div><div class="t m0 x1f hd y55 ff1 fsa fc0 sc0 ls0 ws0">6</div><div class="t m0 x1f hd y54 ff1 fsa fc0 sc0 ls0 ws0">7</div><div class="t m0 x20 he y64 ff1 fsb fc0 sc0 ls74 ws0">Decimal<span class="_ _a"> </span><span class="ls75 ws66">Bit Pattern</span></div><div class="t m0 x21 hd y54 ff1 fsa fc0 sc0 ls0 ws0">0111</div><div class="t m0 x21 hd y55 ff1 fsa fc0 sc0 ls0 ws0">0110</div><div class="t m0 x21 hd y56 ff1 fsa fc0 sc0 ls0 ws0">0101</div><div class="t m0 x21 hd y57 ff1 fsa fc0 sc0 ls0 ws0">0100</div><div class="t m0 x21 hd y58 ff1 fsa fc0 sc0 ls0 ws0">0011</div><div class="t m0 x21 hd y59 ff1 fsa fc0 sc0 ls0 ws0">0010</div><div class="t m0 x21 hd y5a ff1 fsa fc0 sc0 ls0 ws0">0001</div><div class="t m0 x21 hd y5b ff1 fsa fc0 sc0 ls0 ws0">0000</div><div class="t m0 x21 hd y5c ff1 fsa fc0 sc0 ls0 ws0">1111</div><div class="t m0 x21 hd y5d ff1 fsa fc0 sc0 ls0 ws0">1110</div><div class="t m0 x21 hd y5e ff1 fsa fc0 sc0 ls0 ws0">1101</div><div class="t m0 x21 hd y5f ff1 fsa fc0 sc0 ls0 ws0">1100</div><div class="t m0 x21 hd y60 ff1 fsa fc0 sc0 ls0 ws0">1011</div><div class="t m0 x21 hd y61 ff1 fsa fc0 sc0 ls0 ws0">1010</div><div class="t m0 x21 hd y62 ff1 fsa fc0 sc0 ls0 ws0">1001</div><div class="t m0 x21 hd y63 ff1 fsa fc0 sc0 ls0 ws0">1000<span class="_ _b"></span><span class="ls76">-8</span></div><div class="t m0 x22 hd y62 ff1 fsa fc0 sc0 ls76 ws0">-7</div><div class="t m0 x22 hd y60 ff1 fsa fc0 sc0 ls76 ws0">-5</div><div class="t m0 x22 hd y5f ff1 fsa fc0 sc0 ls76 ws0">-4</div><div class="t m0 x22 hd y5e ff1 fsa fc0 sc0 ls76 ws0">-3</div><div class="t m0 x22 hd y5d ff1 fsa fc0 sc0 ls76 ws0">-2</div><div class="t m0 x22 hd y5c ff1 fsa fc0 sc0 ls76 ws0">-1</div><div class="t m0 x23 hd y5b ff1 fsa fc0 sc0 ls0 ws0">0</div><div class="t m0 x23 hd y5a ff1 fsa fc0 sc0 ls0 ws0">1</div><div class="t m0 x23 hd y59 ff1 fsa fc0 sc0 ls0 ws0">2</div><div class="t m0 x23 hd y58 ff1 fsa fc0 sc0 ls0 ws0">3</div><div class="t m0 x23 hd y57 ff1 fsa fc0 sc0 ls0 ws0">4</div><div class="t m0 x23 hd y56 ff1 fsa fc0 sc0 ls0 ws0">5</div><div class="t m0 x23 hd y55 ff1 fsa fc0 sc0 ls0 ws0">6</div><div class="t m0 x23 hd y54 ff1 fsa fc0 sc0 ls0 ws0">7</div><div class="t m0 x24 he y64 ff1 fsb fc0 sc0 ls74 ws0">Decimal<span class="_ _a"> </span><span class="ls75 ws66">Bit Pattern</span></div><div class="t m0 x2 h8 y6a ff1 fs5 fc0 sc0 ls77 ws0">UNSIGNED</div><div class="t m0 x25 h8 y6b ff1 fs5 fc0 sc0 ls78 ws0">INTEGER</div><div class="t m0 x26 h8 y6a ff1 fs5 fc0 sc0 ls79 ws0">OFFSET</div><div class="t m0 x1b h8 y6c ff1 fs5 fc0 sc0 ls66 ws0">BINARY</div><div class="t m0 x27 h8 y6a ff1 fs5 fc0 sc0 ls7a ws67">SIGN AND</div><div class="t m0 x28 h8 y6c ff1 fs5 fc0 sc0 ls7b ws0">MAGNITUDE</div><div class="t m0 x29 h8 y6d ff1 fs5 fc0 sc0 ls7c ws0">TWO'S</div><div class="t m0 x2a h8 y6e ff1 fs5 fc0 sc0 ls7d ws0">COMPLEMENT</div><div class="t m0 x22 hd y6f ff1 fsa fc0 sc0 ls76 ws0">-6</div><div class="t m0 x2b h8 y70 ff1 fs5 fc0 sc0 ls7e ws68">16 bit range:</div><div class="t m0 x15 h8 y71 ff1 fs5 fc0 sc0 ls7f ws69">0 to 65,535</div><div class="t m0 x2c h8 y70 ff1 fs5 fc0 sc0 ls80 ws6a">16 bit range</div><div class="t m0 x2d h8 y72 ff1 fs5 fc0 sc0 ls81 ws6b">-32,767 to 32,768</div><div class="t m0 x2e h8 y70 ff1 fs5 fc0 sc0 ls80 ws6a">16 bit range</div><div class="t m0 x2f h8 y72 ff1 fs5 fc0 sc0 ls81 ws6b">-32,767 to 32,767</div><div class="t m0 x30 h8 y70 ff1 fs5 fc0 sc0 ls80 ws6a">16 bit range</div><div class="t m0 x31 h8 y71 ff1 fs5 fc0 sc0 ls81 ws6b">-32,768 to 32,767</div><div class="t m0 x6 h8 y3b ff1 fs5 fc0 sc0 ls82 ws6c">These first three representations are conceptually simple, but difficult to</div><div class="t m0 x6 h8 y3c ff1 fs5 fc0 sc0 ls83 ws6d">implement in hardware. Remember, when A=B+C is entered into a computer</div><div class="t m0 x6 h8 y3d ff1 fs5 fc0 sc0 ls84 ws6e">program, some hardware engineer had to figure out how to make the bit pattern</div><div class="t m0 x6 h8 y73 ff1 fs5 fc0 sc0 ls85 ws6f">representing B, combine with the bit pattern representing C, to form the bit</div><div class="t m0 x6 h8 y3e ff1 fs5 fc0 sc0 ls86 ws70">pattern representing A. </div><div class="t m0 x6 hb y40 ff5 fs5 fc0 sc0 ls87 ws71">Two's complement<span class="ff1 ls88 ws72"> is the format loved by hardware engineers, and is how</span></div><div class="t m0 x6 h8 y41 ff1 fs5 fc0 sc0 ls89 ws73">integers are usually represented in computers. To understand the encoding</div><div class="t m0 x6 h8 y42 ff1 fs5 fc0 sc0 ls8a ws74">pattern, look first at decimal number zero in Fig. 4-1, which corresponds to a</div><div class="t m0 x6 h8 y43 ff1 fs5 fc0 sc0 ls8b ws75">binary zero, 0000. As we count upward, the decimal number is simply the</div><div class="t m0 x6 h8 y44 ff1 fs5 fc0 sc0 ls8c ws76">binary equivalent (0 = 0000, 1 = 0001, 2 = 0010, 3 = 0011, etc.). Now,</div><div class="t m0 x6 h8 y45 ff1 fs5 fc0 sc0 ls8d ws77">remember that these four bits are stored in a register consisting of 4 flip-flops.</div><div class="t m0 x6 h8 y46 ff1 fs5 fc0 sc0 ls8e ws78">If we again start at 0000 and begin subtracting, the digital hardware</div><div class="t m0 x6 h8 y47 ff1 fs5 fc0 sc0 ls8f ws79">automatically counts in two's complement: 0 = 0000, -1 = 1111, -2 = 1110, -3</div><div class="t m0 x6 h8 y74 ff1 fs5 fc0 sc0 ls90 ws7a">= 1101, etc. This is analogous to the odometer in a new automobile. If driven</div><div class="t m0 x6 h8 y48 ff1 fs5 fc0 sc0 ls91 ws7b">forward, it changes: 00000, 00001, 00002, 00003, and so on. When driven</div><div class="t m0 x6 h8 y49 ff1 fs5 fc0 sc0 ls92 ws7c">backwards, the odometer changes: 00000, 99999, 99998, 99997, etc. </div><div class="t m0 x6 h8 y4b ff1 fs5 fc0 sc0 ls93 ws7d">Using 16 bits, two's complement can represent numbers from -32,768 to</div><div class="t m0 x6 h8 y4c ff1 fs5 fc0 sc0 ls94 ws7e">32,767. The left most bit is a 0 if the number is positive or zero, and a 1 if the</div><div class="t m0 x6 hb y4d ff1 fs5 fc0 sc0 ls95 ws7f">number is negative. Consequently, the left most bit is called the <span class="ff5 ls64 ws57">sign bit</span><span class="ls96 ws80">, just</span></div><div class="t m0 x6 h8 y4e ff1 fs5 fc0 sc0 ls97 ws81">as in sign & magnitude representation. Converting between decimal and two's</div><div class="t m0 x6 h8 y75 ff1 fs5 fc0 sc0 ls98 ws82">complement is straightforward for positive numbers, a simple decimal to binary</div></div><div class="pi" data-data='{"ctm":[1.839080,0.000000,0.000000,1.839080,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="https://static.pudn.com/prod/directory_preview_static/6253b14774bc5c010509af6c/bg4.jpg"><div class="t m0 x9 h2 y21 ff3 fs0 fc0 sc0 ls2b ws25">The Scientist and Engineer's Guide to Digital Signal Processing<span class="_ _0"></span><span class="ff1 ls0 ws0">70</span></div><div class="t m0 x10 hc y76 ff1 fs9 fc0 sc0 ls99 ws83">EQUATION 4-1</div><div class="t m0 x10 hc y77 ff1 fs9 fc0 sc0 ls9a ws84">Equation for converting a bit pattern into a</div><div class="t m0 x10 hc y78 ff1 fs9 fc0 sc0 ls9b ws85">floating point number. The number is</div><div class="t m0 x10 hc y79 ff1 fs9 fc0 sc0 ls9c ws86">represented by<span class="ff3 ls9d ws87"> v</span><span class="ls9e ws0">, <span class="ff3 ls9f">S</span><span class="lsa0 ws88"> is the value of the sign</span></span></div><div class="t m0 x10 hc y7a ff1 fs9 fc0 sc0 ls71 ws89">bit, <span class="ff3 lsa1 ws0">M</span><span class="ls12 ws8a"> <span class="lsa2 ws8b">is the value of the mantissa, and <span class="ff3 lsa3 ws0">E</span></span> <span class="lsa4 ws0">is</span></span></div><div class="t m0 x10 hc y7b ff1 fs9 fc0 sc0 lsa5 ws8c">the value of the exponent.</div><div class="t m0 x32 hf y7c ff3 fsc fc0 sc0 lsa6 ws0">v<span class="_ _c"> </span><span class="ff6 lsa7">'<span class="_ _d"> </span><span class="ff1 lsa8">(</span>&<span class="ff1 ls12">1<span class="lsa8">)</span></span></span></div><div class="t m0 x33 h10 y7d ff3 fs0 fc0 sc0 ls0 ws0">S</div><div class="t m0 x34 hf y7c ff1 fsc fc0 sc0 lsa6 ws0">×<span class="_ _d"> </span><span class="ff3 lsa8">M<span class="_ _d"> </span></span>×<span class="_ _d"> </span><span class="ls12">2</span></div><div class="t m0 x35 h11 y7e ff3 fsd fc0 sc0 lsa9 ws0">E<span class="_ _2"> </span><span class="ff6 fse lsaa">&</span><span class="ff1 ls12">127</span></div><div class="t m0 xa h8 y22 ff1 fs5 fc0 sc0 lsab ws8d">conversion. For negative numbers, the following algorithm is often used:</div><div class="t m0 xa h8 y23 ff1 fs5 fc0 sc0 lsac ws8e">(1) take the absolute value of the decimal number, (2) convert it to binary,</div><div class="t m0 xa h8 y24 ff1 fs5 fc0 sc0 lsad ws8f">(3) complement all of the bits (ones become zeros and zeros become ones),</div><div class="t m0 xa h8 y25 ff1 fs5 fc0 sc0 lsae ws90">(4) add 1 to the binary number. For example: -5 <span class="ff4 fs1 lsaf ws0">6</span><span class="lsb0 wsf"> 5 <span class="ff4 fs1 lsaf ws0">6</span> 0101 <span class="ff4 fs1 lsaf ws0">6</span> 1010 <span class="ff4 fs1 lsaf ws0">6</span></span></div><div class="t m0 xa h8 y27 ff1 fs5 fc0 sc0 lsb1 ws91">1011. Two's complement is hard for humans, but easy for digital</div><div class="t m0 xa h8 y28 ff1 fs5 fc0 sc0 lsb2 ws92">electronics. </div><div class="t m0 x10 h7 y2a ff2 fs6 fc0 sc0 lsb3 ws93">Floating Point (Real Numbers) </div><div class="t m0 xa h8 y2c ff1 fs5 fc0 sc0 lsb4 ws94">The encoding scheme for floating point numbers is more complicated than for</div><div class="t m0 xa h8 y2d ff1 fs5 fc0 sc0 lsb5 ws95">fixed point. The basic idea is the same as used in scientific notation, where a</div><div class="t m0 xa hb y2e ff5 fs5 fc0 sc0 lsb6 ws0">mantissa<span class="ff1 lsb7 ws96"> is multiplied by ten raised to some </span><span class="lsb8">exponent<span class="ff1 lsb9 ws97">. For instance,</span></span></div><div class="t m0 x2c h8 y2f ff1 fs5 fc0 sc0 lsba ws98"> where 5.4321 is the <span class="ff3 lsbb ws0">mantissa</span><span class="lsbc ws99"> and 6 is the <span class="ff3 lsbd ws0">exponent</span><span class="lsbe ws9a">. Scientific<span class="_ _1"></span><span class="fs0 ls0 ws0">5<span class="ls30">.</span>4321<span class="_ _2"> </span><span class="lsbf">×<span class="_"> </span></span>10</span></span></span></div><div class="t m0 x36 ha y7f ff1 fs8 fc0 sc0 ls12 ws0">6</div><div class="t m0 x11 h2 y2f ff1 fs0 fc0 sc0 ls30 ws0">,</div><div class="t m0 xa h8 y30 ff1 fs5 fc0 sc0 lsc0 ws9b">notation is exceptional at representing very large and very small numbers. For</div><div class="t m0 xa h8 y31 ff1 fs5 fc0 sc0 lsc1 ws9c">example: <span class="_ _e"> </span><span class="lsc2 ws9d"> the number of atoms in the earth, or <span class="_ _f"> </span><span class="lsc3 ws9e"> the<span class="_ _10"></span><span class="fs0 ls0 ws0">1<span class="ls30">.</span>2<span class="_ _2"> </span><span class="lsbf">×<span class="_"> </span></span>10</span></span></span></div><div class="t m0 x37 ha y80 ff1 fs8 fc0 sc0 ls12 ws0">50</div><div class="t m0 x14 h2 y31 ff1 fs0 fc0 sc0 ls30 ws0">,<span class="_ _11"> </span><span class="ls0">2</span>.<span class="ls0">6<span class="_ _2"> </span><span class="lsbf">×<span class="_"> </span></span>10</span></div><div class="t m0 x38 ha y80 ff6 fs8 fc0 sc0 lsaa ws0">&<span class="ff1 ls12">23</span></div><div class="t m0 x39 h2 y31 ff1 fs0 fc0 sc0 ls30 ws0">,</div><div class="t m0 xa h8 y32 ff1 fs5 fc0 sc0 lsc4 ws9f">distance a turtle crawls in one second, compared to the diameter of our galaxy.</div><div class="t m0 xa h8 y81 ff1 fs5 fc0 sc0 lsc5 wsa0">Notice that numbers represented in scientific notation are <span class="ff3 ls25 ws0">normalized</span><span class="lsc6 wsa1"> so that</span></div><div class="t m0 xa h8 y82 ff1 fs5 fc0 sc0 lsc7 wsa2">there is only a single nonzero digit left of the decimal point. This is achieved</div><div class="t m0 xa h8 y33 ff1 fs5 fc0 sc0 lsc8 wsa3">by adjusting the exponent as needed.</div><div class="t m0 xa h8 y83 ff1 fs5 fc0 sc0 ls12 wsf"> </div><div class="t m0 xa h8 y34 ff1 fs5 fc0 sc0 lsc9 wsa4">Floating point representation is similar to scientific notation, except</div><div class="t m0 xa h8 y35 ff1 fs5 fc0 sc0 lsae wsa5">everything is carried out in base two, rather than base ten. While several</div><div class="t m0 xa h8 y36 ff1 fs5 fc0 sc0 lsca wsa6">similar formats are in use, the most common is ANSI/IEEE Std. 754-1985.</div><div class="t m0 xa hb y37 ff1 fs5 fc0 sc0 lscb wsa7">This standard defines the format for 32 bit numbers called <span class="ff5 lscc wsa8">single precision</span><span class="lsb0 ws0">,</span></div><div class="t m0 xa hb y39 ff1 fs5 fc0 sc0 lscd wsa9">as well as 64 bit numbers called <span class="ff5 lsce wsaa">double precision</span><span class="lscf wsab">. As shown in Fig. 4-2,</span></div><div class="t m0 xa h8 y3a ff1 fs5 fc0 sc0 lsd0 wsac">the 32 bits used in single precision are divided into three separate groups:</div><div class="t m0 xa h8 y3b ff1 fs5 fc0 sc0 lsd1 wsad">bits 0 through 22 form the mantissa, bits 23 through 30 form the exponent,</div><div class="t m0 xa h8 y3c ff1 fs5 fc0 sc0 lsd2 wsae">and bit 31 is the sign bit. These bits form the floating point number, <span class="ff3 lsd3 ws0">v</span><span class="lsd4 wsaf">, by</span></div><div class="t m0 xa h8 y3d ff1 fs5 fc0 sc0 lsd5 wsb0">the following relation:</div><div class="t m0 xa h8 y45 ff1 fs5 fc0 sc0 ls12 wsf"> </div><div class="t m0 xa h8 y46 ff1 fs5 fc0 sc0 lsd6 wsb1">The term: <span class="_ _12"> </span><span class="lsd7 wsb2">, simply means that the sign bit, <span class="ff3 ls25 ws0">S</span><span class="lsd8 wsb3">, is 0 for a positive number<span class="_ _13"></span><span class="fs0 lsd9 ws0">(<span class="ff6 ls31">&</span><span class="ls0">1</span>)</span></span></span></div><div class="t m0 x26 h12 y84 ff3 fs8 fc0 sc0 ls12 ws0">S</div><div class="t m0 xa h8 y47 ff1 fs5 fc0 sc0 lsda wsb4">and 1 for a negative number. The variable, <span class="ff3 lsdb ws0">E</span><span class="lsdc wsb5">, is the number between 0 and</span></div><div class="t m0 xa h8 y74 ff1 fs5 fc0 sc0 lsdd wsb6">255 represented by the eight exponent bits. Subtracting 127 from this number</div><div class="t m0 xa h8 y48 ff1 fs5 fc0 sc0 lsde wsb7">allows the exponent term to run from <span class="_ _14"> </span><span class="lsdf ws96"> to <span class="_ _15"> </span><span class="lse0 wsb8"> In other words, the<span class="_ _16"></span><span class="fs0 ls0 ws0">2</span></span></span></div><div class="t m0 x3a ha y85 ff6 fs8 fc0 sc0 lsaa ws0">&<span class="ff1 ls12">127</span></div><div class="t m0 x3b h2 y48 ff1 fs0 fc0 sc0 ls0 ws0">2</div><div class="t m0 x3c ha y85 ff1 fs8 fc0 sc0 ls12 ws0">128</div><div class="t m0 x3d h2 y48 ff1 fs0 fc0 sc0 ls30 ws0">.</div><div class="t m0 xa h8 y49 ff1 fs5 fc0 sc0 ls17 wsb9">exponent is stored in <span class="ff3 lse1 wsba">offset binary</span><span class="lse2 wsbb"> with an offset of 127. </span></div><div class="t m0 xa h8 y4b ff1 fs5 fc0 sc0 lse3 wsbc">The mantissa, <span class="ff3 lse4 ws0">M</span><span class="lse5 wsbd">, is formed from the 23 bits as a <span class="ff3 lse6 wsbe">binary fraction</span><span class="lse7 wsbf">. For</span></span></div><div class="t m0 xa h8 y4c ff1 fs5 fc0 sc0 lse8 ws0">example,<span class="lse9 wsc0"> the decimal fraction: 2.783, is interpreted: <span class="_ _17"> </span></span><span class="ls25">.<span class="_ _18"></span><span class="fs0 ls0">2<span class="_ _2"> </span><span class="ff6 ls31">%<span class="_ _2"> </span></span>7<span class="lsea">/</span>10<span class="_ _2"> </span><span class="ff6 ls31">%<span class="_ _2"> </span></span>8<span class="lsea">/</span>100<span class="_ _2"> </span><span class="ff6 ls31">%<span class="_ _19"> </span></span>3<span class="lsea">/</span>1000</span></span></div><div class="t m0 xa h8 y4d ff1 fs5 fc0 sc0 lseb wsc1">The binary fraction: 1.0101, means: <span class="_ _1a"> </span><span class="lsec wsc2">. Floating point<span class="_ _1b"></span><span class="fs0 ls0 ws0">1<span class="_ _2"> </span><span class="ff6 ls31">%<span class="_ _2"> </span></span>0<span class="lsea">/</span>2<span class="_ _2"> </span><span class="ff6 ls31">%<span class="_ _2"> </span></span>1<span class="lsea">/</span>4<span class="_ _2"> </span><span class="ff6 ls31">%<span class="_ _19"> </span></span>0<span class="lsea">/</span>8<span class="_ _2"> </span><span class="ff6 ls31">%<span class="_ _2"> </span></span>1<span class="lsea">/</span>16</span></span></div><div class="t m0 xa h8 y4e ff1 fs5 fc0 sc0 lsed wsc3">numbers are <span class="ff3 ls25 ws0">normalized</span><span class="lsee wsc4"> in the same way as scientific notation, that is, there</span></div><div class="t m0 xa h8 y75 ff1 fs5 fc0 sc0 lsef wsc5">is only one nonzero digit left of the decimal point (called a <span class="ff3 lsf0 wsc6">binary point</span><span class="lsf1 wsc7"> in</span></div></div><div class="pi" data-data='{"ctm":[1.839080,0.000000,0.000000,1.839080,0.000000,0.000000]}'></div></div>