home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib29a.dsk / OCTOBER.1986 / HEX.DEC.bas < prev    next >
BASIC Source File  |  2023-02-26  |  1KB  |  31 lines

  1. 1  REM  **********************
  2. 2  REM  *     HEX.DEC        *
  3. 3  REM  * BY JIM LAZAR       *
  4. 4  REM  * COPYRIGHT (C) 1986 *
  5. 5  REM  * BY MICROSPARC, INC.*
  6. 6  REM  * CONCORD, MA  01742 *
  7. 7  REM  **********************
  8. 10  HOME : INPUT "ENTER A DECIMAL NUMBER BETWEEN 0 AND    65535: ";DD$:DEC =  VAL(DD$): GOSUB 62010: PRINT : PRINT "THE HEXADECIMAL EQUIVALENT IS $"HEX$: PRINT 
  9. 20  INPUT "ENTER A HEX NUMBER BETWEEN $0000 AND    $FFFF :$";HEX$: GOSUB 63010: PRINT : PRINT "THE DECIMAL EQUIVALENT IS "DEC
  10. 30  END 
  11. 62000  REM  ** DEC TO HEX **
  12. 62010 B1 =  ABS( INT(DEC/256) *256 -DEC)
  13. 62020 B2 =  ABS( INT(DEC/256))
  14. 62030 A(1) =  INT(B1/16) *16 -B1
  15. 62040 A(2) =  INT(B1/16)
  16. 62050 A(3) =  INT(B2/16) *16 -B2
  17. 62060 A(4) =  INT(B2/16)
  18. 62070 HEX$ = ""
  19. 62080  FOR B = 4 TO 1  STEP  -1
  20. 62090 HEX$ = HEX$ + MID$ ("0123456789ABCDEF", ABS(A(B)) +1,1)
  21. 62100  NEXT 
  22. 62110  RETURN 
  23. 63000  REM  ** HEX TO DEC **
  24. 63010 HEX$ =  RIGHT$("0000" +HEX$,4)
  25. 63020  FOR C = 4 TO 1  STEP  -1
  26. 63030 A$ =  MID$ (HEX$,C,1)
  27. 63040  FOR B = 0 TO 15
  28. 63050  IF  MID$ ("0123456789ABCDEF",B +1,1) = A$  THEN A(C) = B
  29. 63060  NEXT B,C
  30. 63070 DEC = (A(4) +A(3) *16) +((A(2) +A(1) *16) *256)
  31. 63080  RETURN