10 REM COPYRIGHT 1993 - COMPUTE PUBLICATIONS INTL LTD - ALL RIGHTS RESERVED 20 PRINT"[147]":POKE 53280,6:POKE 53281,6 30 PRINT"[158]":MS$="[206]UMBER [194]ASE [195]ONVERSIONS":GOSUB 960 40 PRINT"[159]":MS$="BY [194]RUCE [205]. [194]OWDEN":GOSUB960:PRINT"" 50 MS$="[195]OPYRIGHT, 1993":GOSUB960:MS$="[195][207][205][208][213][212][197] [208]UBLICATIONS [201]NTL [204]TD":GOSUB960 60 MS$="[193]LL [210]IGHTS [210]ESERVED":GOSUB 960:GOSUB980 70 PRINT"[147]" 80 MS$="[194][193][211][197][195][207][206] WILL CONVERT NUMBERS FROM ANY":GOSUB960 90 MS$="NUMBER BASE LESS THAN OR EQUAL TO 36":GOSUB960 100 MS$="TO ANOTHER BASE IN THE SAME RANGE":GOSUB960 110 GOSUB 980:IF S=0 THEN 230 120 PRINT"[147][211]ELECT FROM ONE OF THESE FUNCTION KEYS:" 130 PRINT"F1 ** [213]SE THE SAME STARTING BASE AND NUMBER AS BEFORE" 140 PRINT"F3 ** [213]SE JUST THE SAME STARTING BASE" 150 PRINT"F5 ** [213]SE THE ENDING BASE AS THE NEW BASE AND THE SOLUTION" 160 PRINT" AS THE NEW NUMBER" 170 PRINT"F7 ** [203]EEP THE SAME STARTING AND ENDING" 180 PRINT" BASES":PRINT"F2 ** [211]END RESULTS TO PRINTER" 190 PRINT"F4 ** [197]VERYTHING FRESH" 200 GETA$:IFA$=""ORA$<"[133]"ORA$>"[138]"THEN200 210 XX=ASC(A$)-132:ONXXGOTO370,300,860,440,890,220 220 RUN230 230 PRINT"[147][208]LEASE ENTER THE STARTING BASE HERE:" 240 PRINT"";TAB(12):INPUTS:IFS>=2THEN260 250 PRINTTAB(8);"";S;"IS LESS THAN 2.":GOTO280 260 IFS<=36THEN290 270 PRINTTAB(8);"";S;"IS GREATER THAN 36." 280 PRINT" [212]HE BASE MUST BE BETWEEN 2 AND 36!":GOSUB 980:GOTO230 290 S=INT(S) 300 PRINT"[147][208]LEASE ENTER THE ENDING BASE HERE:" 310 PRINT"";TAB(12):INPUTE:IFE>=2THEN330 320 PRINTTAB(8);"";E;"IS LESS THAN 2.":GOTO350 330 IFE<=36THEN360 340 PRINTTAB(8);"";E;"IS GREATER THAN 36." 350 PRINT" [212]HE BASE MUST BE BETWEEN 2 AND 36!":GOSUB 980:GOTO300 360 E=INT(E):GOTO440 370 PRINT"[147][208]LEASE ENTER THE ENDING BASE HERE:" 380 PRINT"";TAB(12):INPUTE:IFE>=2THEN410 390 PRINTTAB(8);"";E;"IS LESS THAN 2." 400 PRINT" [212]HE BASE MUST BE BETWEEN 2 AND 36!":GOSUB 980:GOTO370 410 IFE<=36THEN430 420 PRINTTAB(8);"";E;"IS GREATER THAN 36.":GOTO400 430 E=INT(E):GOTO470 440 PRINT"[147]" 450 PRINT"[217]OU MAY NOW ENTER THE NUMBER WHICH IS BEING CONVERTED FROM BASE";S 460 PRINT"TO BASE";E;"BELOW":PRINT"";TAB(12):INPUTN$ 470 PRINT" [208]LEASE STANDBY FOR COMPUTATION...":X=1 480 IFMID$(N$,X,1)="."THEN690 490 X=X+1:IFX<>LEN(N$)+1THEN480 500 I$=N$:F$="0":V=0 510 IFS=ETHEN820 520 IFS<>10THEN560 530 IFI$<>""THEN550 540 I$="0" 550 T=VAL(I$):V=VAL("."+F$):GOTO700 560 T=0:FORX=LEN(I$)TO1STEP-1:D=ASC(MID$(I$,X,1)):IFD<48ORD>57THEN580 570 T=T+(D-48)*S^(LEN(I$)-X) 580 IFD<65ORD>90THENNEXT:GOTO600 590 T=T+(D-55)*S^(LEN(I$)-X):NEXT 600 IFT<1E10THEN620 610 PRINT"[212]HIS NUMBER IS TOO LONG TO BE EVALUATED":GOTO110 620 IFF$="0"THEN670 630 V=0:FORX=1TOLEN(F$):D=ASC(MID$(F$,X,1)):IFD<48ORD>57THEN650 640 V=V+(D-48)/S^X 650 IFD<65ORD>90THENNEXT:GOTO670 660 V=V+(D-55)/S^X:NEXT 670 I$=STR$(T):F$=STR$(V):F$=MID$(F$,2,LEN(F$)-1):IFE=10THEN820 680 GOTO700 690 I$=MID$(N$,1,X-1):F$=MID$(N$,X+1,LEN(N$)-X):GOTO510 700 I$="":F$="" 710 A=T/E:DP=INT(E*(A-INT(A))+.5):IFDP<0ORDP>9THEN730 720 I$=CHR$(DP+48)+I$:GOTO740 730 I$=CHR$(DP+55)+I$ 740 T=INT(A):IFT<>0THEN710 750 X=1:A=V*E 760 IFINT(A)<0ORINT(A)>9THEN780 770 F$=F$+MID$(STR$(INT(A)),2,LEN(STR$(INT(A)))):GOTO790 780 F$=F$+CHR$(INT(A)+55) 790 V=A-INT(A):IFV=0THEN820 800 X=X+1:IFX<151THENA=V*E:GOTO760 810 F$=F$+"..." 820 PRINT"[147][212]HE BASE";S;"NUMBER ";N$;" IS" 830 IF E=10 AND F$<>"0" THEN PRINT" ";I$;F$;" [146]" 840 IF E<>10 OR F$="0" THEN PRINT" ";I$;".";F$;" [146]" 850 PRINT"WHEN EXPRESSED IN BASE";E:GOTO110 860 S=E:IF E=10 AND F$<>"0" THEN N$=I$+F$ 870 IF E<>10 OR F$="0" THEN N$=I$+"."+F$ 880 T=0:V=0:I$="":F$="":GOTO370 890 PRINT"[147] [208][210][201][206][212][207][213][212][160][207][198][160][212][200][197][160][210][197][211][213][204][212][211] [146]" 900 PRINT"" 910 PRINT"[194]E SURE THAT THE PRINTER IS SWITCHED ON AND IS DEVICE #4":GOSUB 980 920 OPEN3,4,7:PRINT#3,"[212]HE BASE";S;"NUMBER ";N$;" IS" 930 IF E=10 AND F$<>"0" THEN PRINT#3,I$;F$ 940 IF E<>10 OR F$="0" THEN PRINT#3,I$;".";F$ 950 PRINT#3,"WHEN EXPRESSED IN BASE";E:PRINT#3,:CLOSE3:GOTO110 960 REM MESSAGE CENTERING ROUTINE 970 FOR MX=1 TO 20-LEN(MS$)/2:PRINTCHR$(32);:NEXT:PRINTMS$:RETURN 980 PRINT"[158]" 990 MS$="[208]RESS [193]NY [203]EY [212]O [195]ONTINUE":GOSUB 960 1000 GET A$:IF A$="" THEN 1000 1010 PRINT"":RETURN