SAS Support Site Home | Samples and SAS Notes Home
SAS Notes V6-COPY-5966
The XPORT engine converts negative zero to a very small non-zero number


If a variable has a value of negative zero, the XPORT engine converts this value to a number that is incredibly close to zero. Generally, a zero is stored with a positive sign; however, a negative zero is stored with a negative sign ( ie. the first bit of the number is a 1 rather than a 0).

  This behavior can be replicated as follows (both x and y have a value
  of negative zero):
     libname tran sasv5xpt 'tran1.dat';
     data one;  x= input('8000000000000000',hex16.);
     y = round(0,1);     /* this also creates a negative zero  */
     proc copy in=work out=tran; select one; run;

The negative zero is converted to a number that is very close to zero (such as 5.39E-79 ) .

This problem has been corrected in Release 6.08


Products: BASE
Component: COPY
Priority: N/A
Status: Usage Issue
Date: Fri, 27 May 1994

System Release Reported Release Fixed
IBM OS/2 6.06 6.08  
BULL 6.07 TS201  
HP-UX Operating Systems 6.07 TS201 6.09  
NeXT 6.07 TS201  
Silicon Graphics - IRIX 6.07 TS201  
Siemens Unix 6.07 TS201  
SunOS 3.0 6.07 TS201  
SunOS 4.0 6.07 TS201 6.09  
HP - Apollo 6.07 TS101  
AIX/6000 6.07 TS101 6.09  
Data General Aviion 6.07 TS101  
HP-UX Operating Systems 6.07 TS101  
Silicon Graphics Unix 6.07 TS101  
DEC Ultrix 6.07 TS101 6.09  

No Fixes Available