long -> double conversions buggy?
Earl H. Kinmonth
cck at deneb.ucdavis.edu
Sat Jun 10 04:51:41 AEST 1989
Under SCO Xenix 286 assignment of a very large unsigned long
value to a double results in a negative value. The same code on
a SUN and a VAX works properly. So far the only way I've found
to get a proper assignment is
char barf[32];
double atof();
double d_biggie;
unsigned long l_biggie;
l_biggie = /* some expression */
sprintf(barf,"%lu",l_biggie);
d_biggie = atof(barf);
Am I missing something, or is the compiler generating bad code
for assignments of unsigned large to double? (Casts don't
help.)
Earl H. Kinmonth
History Department
University of California, Davis
Davis, California 95616
916-752-1636 (2300-0800 PDT for FAX)
916-752-0776 (secretary)
ucbvax!ucdavis!ucdked!cck (email)
cc-dnet.ucdavis.edu [128.120.2.251]
(request ucdked, login as guest)
More information about the Comp.unix.xenix
mailing list