LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (May 1996, week 2)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Mon, 13 May 1996 20:09:09 +0500
Reply-To:   eppard@nando.net
Sender:   "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From:   Andy Barnett <eppard@NANDO.NET>
Subject:   Re: SAS-L Digest - 13 May 1996 - Special issue

John's version of underflow is the one I've always read/heard about. The = large=0D negative number is actually an overflow. It is the characteristic (expone= nt) of=0D the number that determines underflow/overflow: a large enough positive ex= ponent=0D (whether mantissa is negative or positive) is overflow, while a large eno= ugh=0D negative exponent (in terms of absolute magnitude) is underflow. Thus, fo= r IEEE=0D numbers, an exponent of +400 would be an overflow, and -400 an underflow.= Since=0D underflows are essentially zero, they can be often treated as zero. Howev= er,=0D (although SAS apparently does not do this) IEEE has representations for b= oth =0D + and - infinity, so it would be possible to keep track of overflows like= 1/0 or=0D -1/0 (I'm not sure what happens when an IEEE FPU multiplies an infinity b= y 0, but=0D I would think it should produce either another exception or some form of = special=0D representation -- the IEEE notation uses denormalized numbers for special= numbers=0D that software can determine how to use, such as SAS' missings). Other for= mats,=0D like VAX D-floating, do not match in all details with IEEE. (PC's use IEE= E FPUs.)=0D In any case, underflows are near zero, whereas overflows are far from zer= o in =0D either direction.=0D =0D //---------------original message follows -------------------------------= ------=0D Date: Mon, 13 May 1996 10:11:01 PDT=0D From: TWB2%Rates%FAR@GO50.COMP.PGE.COM=0D Subject: Re: sas help needed=0D =0D I would not call this underflow, nor would I expect notice of it. I woul= d=0D call creation of an excessively large negative number an underflow. Loos= ing=0D digits far out to the right of the decimal is just loss of precision whet= her=0D the remaining digits are all zeros or have some other value. For instanc= e, if=0D I store 1/3, I do not expect a warning that I actually stored 0.333...333= for=0D some number of digits, rather than an infinite string of 3's.=0D =0D BTW, it would amuse me if the original poster achieved his overflow by=0D=

dividing by almost zero, rather than by multipying by a huge number.=0D =0D Tim Berryhill - Contract Programmer and General Wizard=0D TWB2@PGE.COM or http://www.lookup.com/Homepages/92062/home.html=0D Frequently at Pacific Gas & Electric Co., San Francisco=0D The correlation coefficient between their views and=0D my postings is slightly less than 0=0D ----------------------=FFReply - Original Message=FF---------------------= -=0D Sent by:John Whittington <johnw@MAG-NET.CO.UK>=0D >The other interesting point is that 'underflowing' produces no error mes= sage=0D >at all, and excution continues normally; if a value becomes too small t= o=0D >represent, it seems to just be treated as zero.=0D =0D =0D =0D //-----------------------------------------------------------------------= ---=0D Andy E. Barnett=0D eppard@nando.net=0D Raleigh, NC, USA=


Back to: Top of message | Previous page | Main SAS-L page