www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/11/14/01:23:09

From: idr AT cs DOT pdx DOT edu (Ian D Romanick)
Subject: Re: Help with "normalised float" etc.
To: psullivn AT intersurf DOT com (Patrick Sullivan)
Date: Mon, 13 Nov 1995 22:11:38 -0800 (PST)
Cc: ghernan AT cariari DOT ucr DOT ac DOT cr, djgpp AT sun DOT soe DOT clarkson DOT edu

> 2.0+e4 * 4789.45+e4 is not normalized. To be normal, the first part of
> the float must be of the form n.x, n > 0 and n < 9; x can be whatever your
> precision is. So to normalize the 2nd example, leave 2.0+e4 as it is, its
> already normal. The 4789.45+e4 must be turned to 4.78945+e7. Then the 
> math is easier for you or a computer program. 

However, for multiplication and division, normalizaion is *NOT*
required.  For a multiply of a number XeY by a number UeV, the result is
(X*U)e(Y+V).  It is only for addition and subtraction that normalization
is required.  This is why floating point multiplies are FASTER on most
newer chips than floating point adds.  I guess this is a bit off topic,
sorry. :)

-- 
- See the Epsilon coder page at:           ____  ____
  http://www.cs.pdx.edu/~idr/             /     /   / /\    / "Good...bad...
- Ian Romanick sez:                      /---- /___/ /  \  /   I'm the guy
  "For the last time, GIVE ME THE BOX!" /____ /     /    \/    with the gun."

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019