home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR2 / CACODE.ZIP / INT2B.C < prev    next >
C/C++ Source or Header  |  1993-07-13  |  640b  |  33 lines

  1. #include <extend.h>
  2.  
  3. CLIPPER _int2b(void) {
  4.  
  5.     char retval[9] = "00000000";  // return string
  6.     int place = 7;                // "current" place marker
  7.  
  8.     int num = _parni(1);          // integer to convert
  9.     int digits = _parni(2);       // number of digits to return (1-8)
  10.  
  11.     int r = num;
  12.  
  13.     if (_parinfo(2) != 2)
  14.         digits = 8;
  15.  
  16.     if ( (digits < 1) || (digits > 8) )
  17.         digits = 8;
  18.  
  19.     while (num >= 2 ) {
  20.  
  21.         r = num%2;
  22.         retval[place--] = (r == 1 ? '1':'0');
  23.         num /= 2;
  24.  
  25.     } 
  26.  
  27.     retval[place--] = (num == 1 ? '1':'0');
  28.  
  29.     _retc( retval+(8-digits) );
  30.  
  31. }
  32.  
  33.