DEFINT A-Z DEFLNG X DECLARE SUB Comline (N, A$(), Max) DECLARE FUNCTION DecimalToBinary$ (num AS LONG) DIM arg$(1 TO 15) DIM binaryString AS STRING CALL Comline(N, arg$(), 10) IF N <> 2 THEN PRINT "usage: base " ELSE x = VAL(arg$(2)) PRINT " Decimal:"; x PRINT "Hexadecimal: "; HEX$(x) PRINT " Octal: "; OCT$(x) PRINT " Binary: "; DecimalToBinary(x) END IF DEFINT X SUB Comline (NumArgs, Args$(), MaxArgs) STATIC CONST TRUE = -1, FALSE = 0 NumArgs = 0: In = FALSE Cl$ = COMMAND$ Cl$ = "base.exe 255" L = LEN(Cl$) FOR I = 1 TO L C$ = MID$(Cl$, I, 1) IF (C$ <> " " AND C$ <> CHR$(9)) THEN IF NOT In THEN IF NumArgs = MaxArgs THEN EXIT FOR NumArgs = NumArgs + 1 In = TRUE END IF Args$(NumArgs) = Args$(NumArgs) + C$ ELSE In = FALSE END IF NEXT I END SUB FUNCTION DecimalToBinary$ (num AS LONG) DIM binary2 AS STRING binary2 = "" IF num = 0 THEN DecimalToBinary = "0" EXIT FUNCTION END IF WHILE num > 0 binary2 = LTRIM$(STR$(num MOD 2)) + binary2 num = num \ 2 WEND DecimalToBinary = binary2 END FUNCTION