home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / clipper / cacode.zip / B2INT.C next >
C/C++ Source or Header  |  1993-07-13  |  569b  |  42 lines

  1. #include <extend.h>
  2.  
  3. int __exponent(int, int);
  4.  
  5. CLIPPER _b2int(void) {
  6.  
  7.     char *num = _parc(1);
  8.     int len = _parclen(1)-1;
  9.     int i = 0;
  10.     int j = 0;
  11.  
  12.     for (j=0 ; len != -1 ; j++) {
  13.  
  14.         if (num[len--] == '1')
  15.             i += __exponent(2,j);
  16.  
  17.     }
  18.  
  19.     _retni(i);
  20. }
  21.  
  22. int __exponent(int base, int power) {
  23.  
  24.     int retval = 1;
  25.     int i = 0;
  26.  
  27.     if (power == 0)
  28.         return(1);
  29.  
  30.     if (power == 1)
  31.         return(base);
  32.  
  33.     for (i=1;i<=power;i++) {
  34.  
  35.         retval *= base;
  36.     }
  37.  
  38.     return (retval);
  39.  
  40. }
  41.  
  42.