home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib19a.dsk
/
MAY.1984
/
UBC.bas
< prev
Wrap
BASIC Source File
|
2023-02-26
|
2KB
|
45 lines
1 REM *****************************
2 REM * UBC *
3 REM * UNIVERSAL BASE CONVERSION *
4 REM * BY PRESTON R BLACK MD *
5 REM * COPYRIGHT (C) 1984 *
6 REM * BY MICROSPARC, INC *
7 REM * LINCOLN, MA 01773 *
8 REM *****************************
10 TEXT : HOME
20 DIM Y(50):HEX$ = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
30 PRINT : PRINT "** COPYRIGHT 1984 BY MICROSPARC, INC. **": PRINT : INPUT "DO YOU WISH TO SEE INSTRUCTIONS? ";A$: IF MID$ (A$,1,1) = "N" THEN 80
40 PRINT : PRINT "THIS IS A CONVERSION PROGRAM WHICH WILL": PRINT "CONVERT ANY NUMBER FROM ONE BASE TO": PRINT "ANOTHER BASE."
50 PRINT : PRINT "THE NUMBERS CAN BE IN ANY BASE FROM": PRINT "BASE 2 TO BASE 36."
60 PRINT : PRINT "ENTER THE ORIGINAL BASE, THE NUMBER TO": PRINT "BE CONVERTED, AND THE BASE YOU WISH": PRINT "THE NUMBER TO BE CONVERTED TO."
70 PRINT : PRINT "PRESS ANY KEY TO CONTINUE. ";: GET A$: PRINT :
80 HOME : VTAB 10: INPUT "PLEASE ENTER STARTING BASE: ";OLDBASE
90 INPUT "ENTER NUMBER TO BE CONVERTED: ";OLDNUM$
100 PRINT : INPUT "PLEASE ENTER NEW BASE: ";NBASE
110 IF OLDBASE = NBASE THEN 330
120 IF OLDBASE > <10 THEN 140
130 NWNUM = VAL(OLDNUM$): GOTO 240
140 J = LEN(OLDNUM$):K = J
150 FOR I = 1 TO J:K = K -1
160 CV$ = MID$ (OLDNUM$,I,1)
170 FOR L = 10 TO 36
180 IF CV$ = MID$ (HEX$,L,1) THEN 200
190 NEXT L: GOTO 210
200 VD = L -1: GOTO 220
210 VD = VAL(CV$)
220 NWNUM = NWNUM +((OLDBASE ^K) *VD): NEXT I
230 IF NBASE = 10 THEN 320
240 I = 1:SN = NWNUM
250 Y = SN/NBASE:Y(I) = (Y - INT(Y)) *NBASE
260 I = I +1:SN = Y
270 IF INT(Y) >0 THEN 250
280 FOR K = (I -1) TO 1 STEP -1
290 W = Y(K) +1:DUM$ = DUM$ + MID$ (HEX$,W,1): NEXT
300 PRINT : PRINT OLDNUM$;" BASE ";OLDBASE;" EQUALS ";DUM$;" BASE ";NBASE;" "
310 GOTO 340
320 PRINT : PRINT OLDNUM$;" BASE ";OLDBASE;" EQUALS ";NWNUM;" BASE 10.": GOTO 340
330 PRINT : PRINT OLDNUM$;" BASE ";OLDBASE;" EQUALS ";OLDNUM$;" BASE ";NBASE;"."
340 VTAB 24: INPUT "DO YOU WISH TO CONTINUE? ";A$
350 NWNUM = 0:DUM$ = ""
360 IF MID$ (A$,1,1) = "Y" THEN 80
370 HOME : END