home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-386-Vol-2of3.iso / b / baswiz19.zip / BW$BAS.ZIP / BCDPOWER.BAS < prev    next >
BASIC Source File  |  1993-01-29  |  1KB  |  35 lines

  1. '   +----------------------------------------------------------------------+
  2. '   |                                                                      |
  3. '   |        BASWIZ  Copyright (c) 1990-1993  Thomas G. Hanlin III         |
  4. '   |                                                                      |
  5. '   |                      The BASIC Wizard's Library                      |
  6. '   |                                                                      |
  7. '   +----------------------------------------------------------------------+
  8.  
  9.    DECLARE FUNCTION BCDAbs$ (Nr AS STRING)
  10.    DECLARE FUNCTION BCDMul$ (Nr1 AS STRING, Nr2 AS STRING)
  11.    DECLARE FUNCTION BCDSet$ (NumSt$)
  12.  
  13.    DEFINT A-Z
  14.  
  15. FUNCTION BCDPower$ (Nr AS STRING, Power)
  16.    IF Power <= 0 THEN
  17.       BCDPower$ = BCDSet$("1")
  18.    ELSE
  19.       Sign$ = LEFT$(Nr, 1)
  20.       P = Power
  21.       Result$ = BCDSet$("1")
  22.       PSeq$ = BCDAbs$(Nr)
  23.       DO WHILE P > 0
  24.          IF P AND 1 THEN Result$ = BCDMul$(Result$, PSeq$)
  25.          P = P \ 2
  26.          PSeq$ = BCDMul$(PSeq$, PSeq$)
  27.       LOOP
  28.       IF Power AND 1 THEN
  29.          BCDPower$ = Sign$ + MID$(Result$, 2)
  30.       ELSE
  31.          BCDPower$ = Result$
  32.       END IF
  33.    END IF
  34. END FUNCTION
  35.