title: Rounding Floating Point Numbers after addition (guard, sticky, and round bits)
body: <p>I haven't been able to find a good explanation of this anywhere on the web yet, so I'm hoping somebody here can explain it for me. </p>
  
  <p>I want to add two binary numbers by hand: <br><br> 1.001<sub>2</sub> * 2<sup>2</sup><br>
  1.010,0000,0000,0000,0000,0011<sub>2</sub> * 2<sup>1</sup> </p>
  
  <p>I can add them no problem, I get the following result after de-normalizing the first number, adding the two, and re-normalizing them.
  <br><br></p>
  
  <p>1.1100,0000,0000,0000,0000,0011<sub>2</sub> * 2<sup>2</sup><br><br></p>
  
  <p>The issue is, that number will not fit into single-precision IEEE 754 format without truncating or rounding one bit. My assignment asks that we put this number into single-precision IEEE 754 format (which again, is normally no problem, I can do that easy). It asks us to do so first with guard, round, and sticky bits and then repeat without these bits. However, I'm not exactly sure how these bits help with rounding. I would assume that I would just truncate the last LSB if I were to do this without guard, round, and sticky bits, however.</p>