Listing of file='HEXDEC.BAS;01' on disk='vmedia/ncc_10-sector.ccvf'
50 REM -"HEXDEC"IS A DEMONSTRATION PROGRAM FOR THE CONVERSION 55 REM -OF HEXA-DECIMAL NUMBERS TO DECIMAL, AND CONVERSELY, 60 REM -DECIMAL TO HEXA-DECIMAL.IT IS LIMITED TO FIVE HEX-DEC 65 REM -CHARACTERS. THERE IS ALSO A BRIEF TUTORIAL. 70 REM - 75 REM ----BY LOU HOFMEISTER,NCCUG,NOV.1980 80 REM - 100 PLOT 12,17,2,21,64,242,42,118,88,118,110,64,88,10,42,10,21,64,255 110 PLOT 18,2,17,64,242,40,122,90,122,114,64,90,6,40,6,17,64,255 120 PLOT 14,19,3,22,7,72,32,69,32,88,32,65,32,45,32,68,32,69,32,67,32,73,32,77,32,65,32,76 130 PLOT 3,20,11,67,32,79,32,78,32,86,32,69,32,82,32,83,32,73,32,79,32,78,32,32,32,83,32,69,32,84 140 PLOT 15,22,3,14,14 150 PRINT "SELECT ONE OF THE FOLLOWING BY NUMBER." 160 PLOT 3,20,18 170 PRINT "1 - HEXA-DECIMAL TO DECIMAL" 180 PLOT 3,20,20 190 PRINT "2 - DECIMAL TO HEXA-DECIMAL" 200 PLOT 3,20,22 210 PRINT "3 - TUTORIAL ON 1 AND 2" 220 PLOT 3,20,24 225 PRINT "4 - RETURN TO MENU" 228 PLOT 3,20,26 230 INPUT " ";Y 232 IF Y= 1THEN 700 234 IF Y= 2THEN 2000 236 IF Y= 3THEN 300 238 IF Y= 4THEN 3000 240 PRINT " " 300 PLOT 12,3,15,0 310 PRINT " T U T O R I A L : " 312 PLOT 3,2,3 320 PRINT "IN THE REGULAR DECIMAL COUNTING SYSTEM,THERE ARE TEN FIGURES," 321 PRINT "(STARTING WITH ZERO) THAT TELL THE QUANTITY OF 'ONES' IN A" 322 PRINT "GIVEN SINGLE NUMBER. IN A TWO FIGURE AMOUNT, THE DIGIT ON THE" 323 PRINT "LEFT TELLS HOW MANY 'TENS' THERE ARE. AND THE LEFT MOST OF" 324 PRINT "A THREE FIGURE VALUE COUNTS 'HUNDREDS'. AND SO ON." 350 PRINT " " 370 PRINT " EXAMPLE : 8 4 9 -----------> 9 * 1 = 9" 375 PRINT " ---------------> 4 * 10 = 40" 380 PRINT " -----------------> 8 * 100 = 800" 385 PRINT " -----" 390 PRINT " 849" 400 PRINT " " 401 PRINT " ELECTRONIC CALCULATORS AND COMPUTERS WORK WITH BINARY NUMBERS" 405 PRINT "OR DEVICES(AS 0 OR 1, OFF OR ON, NO OR YES, ETC). BY DOUBLING" 410 PRINT "AND COMPOUND DOUBLING, AND ADDING THE '1'S OR 'ON'S, ETC. THE" 415 PRINT "MACHINE IS ABLE TO PERFORM ALL THE OPERATIONS WE NORMALLY" 420 PRINT "THINK OF IN OUR REGULAR FIGURING (BY 'TENS'). IF THE '1' VALUE" 425 PRINT "IS DOUBLED FOUR TIMES, 16 IS THE RESULT. 16 IS LARGER THAN THE" 430 PRINT "10 WE ARE USED TO COUNTING WITH IN OUR DECIMAL SYSTEM, HOWEVER" 445 PRINT "IT IS THE BASE FOR THE HEXA-DECIMAL--COUNTING BY 16'S---SYSTEM." 450 PRINT "HEX-DEC USES THE FIGURES 0 THRU 9, AND THEN INCLUDES LETTERS" 455 PRINT "A THRU F IN ORDER TO HAVE 16 MARKERS WITH WHICH TO COUNT." 460 PRINT " " 465 PRINT " FOLLOWING ARE THE EQUIVALENT VALUES :" 470 PRINT " " 475 PRINT " DECIMAL-0-1-2-3-4-5-6-7-8-9-10-11-12-13-14-15" 480 PRINT " HEX-DEC-0-1-2-3-4-5-6-7-8-9-A--B--C--D--E--F" 485 PRINT " " 490 INPUT " ---------------PRESS RETURN FOR NEXT PAGE-----------------";A 492 IF A= 0THEN 494 494 PLOT 12,3,15,0 496 PRINT " T U T O R I A L :" 498 PLOT 3,2,3 500 PRINT " A SINGLE HEX-DEC FIGURE MAY THUS COUNT TO 16 (0 THRU F).THE" 505 PRINT "FIRST OF TWO DIGITS COUNTS 16'S INSTEAD OF TENS AS IN DECIMALS." 510 PRINT "THE LEFT MEMBER OF THREE ADDS WITH 256'S(16 16'S). THE FIRST" 515 PRINT "OF FOUR SCORES WITH 4096'S, ETC. LET'S COMPARE OUR FIRST PAGE." 518 PRINT " " 520 PRINT " EXAMPLE : 8 4 9 -----------> 9 * 1 = 9" 525 PRINT " ---------------> 4 * 16 = 64" 530 PRINT " -----------------> 8 * 256 = 2048" 540 PRINT " ------" 541 PRINT " 2121" 542 PRINT "OUR TOTAL CERTAINLY LOOKS" 545 PRINT "DIFFERENT, BUT WE HAVE CONVERTED FROM DECIMAL TO HEXA-DECIMAL." 550 PRINT " " 560 PRINT " EXAMPLE USING SOME LETTER DIGITS :" 565 PRINT " " 570 PRINT " 6 B 0 E ---------> 14 * 1 = 14" 575 PRINT " -------------> 0 * 16 = 0" 580 PRINT " ---------------> 11 * 256 = 2816" 585 PRINT " -----------------> 6 * 4096 = 24576" 590 PRINT " -------" 595 PRINT " 27406" 600 PRINT " " 630 PRINT " NOTE THAT TO CHANGE FROM DECIMAL TO HEXA-DECIMAL WE MULTIPLY" 635 PRINT "AND ADD. IF WE WERE TO CONVERT IN THE OTHER DIRECTION WE MOSTLY" 640 PRINT "DIVIDE AND SUBTRACT." 650 PRINT " " 660 INPUT " NOW--TO TRY THE MACHINE FOR SOME ANSWERS. PRESS ENTER TO RETURN TO THE INDEX.";B 670 IF B= 0THEN 100 680 IF B> 0THEN 100 700 PLOT 12,3,13,1,19,14 710 PRINT "HEXA-DECIMAL TO DECIMAL CONVERSION" 720 PLOT 15,22 730 PRINT " " 760 PRINT " THE FOLLOWING PROGRAM REQUIRES FIVE DIGITS TO WORK.IF NEEDED," 770 PRINT "ADD ZERO(S) AT BEGINNING OF NUMBER TO MAKE THE TOTAL OF FIVE." 780 PRINT " " 790 PRINT " - - - - - - - - - - - - - - - - - - - - - - - " 800 PRINT " NUMBERS OR LETTERS NOT IN HEXA-DECIMAL NOTATION" 810 PRINT " WILL BE READ WRONG AND THE ANSWER WILL BE IN ERROR " 820 PRINT " COMPUTER MAX.=F423F(999999) OR EXPONENTATION WILL RESULT " 830 PRINT " - - - - - - - - - - - - - - - - - - - - - - -" 835 PRINT " " 842 PRINT " HIT RETURN AFTER EACH NUMBER OR LETTER IS TYPED" 845 PLOT 14,17 850 PLOT 3,24,16:INPUT " ";H$ 870 PLOT 3,26,16:INPUT " ";I$ 890 PLOT 3,28,16:INPUT " ";J$ 910 PLOT 3,30,16:INPUT " ";K$ 930 PLOT 3,32,16:INPUT " ";L$ 935 PLOT 15,22 940 GOTO 1090 950 G= Q* 65536+ R* 4096+ S* 256+ T* 16+ U 960 PRINT " " 970 PRINT " " 980 PRINT " THE DECIMAL EQUIVALENT IS"G 990 PRINT " _________" 1000 PRINT " " 1005 PRINT " " 1010 PRINT " " 1020 PRINT " ANOTHER ONE? HIT RETURN." 1030 PRINT " " 1040 PRINT " TO DO DEC. TO HEXA-DEC CONVERSIONS, TYPE 9 & RETURN" 1042 PRINT " " 1045 INPUT " 8/RETURN RESTORES MENU:";X 1050 IF X= 0THEN 700 1060 IF X= 8THEN 3000 1070 IF X= 9THEN 2000 1075 IF X> 0THEN 100 1080 END 1090 IF H$= "0"THEN Q= 0 1100 IF H$= "1"THEN Q= 1 1110 IF H$= "2"THEN Q= 2 1120 IF H$= "3"THEN Q= 3 1130 IF H$= "4"THEN Q= 4 1140 IF H$= "5"THEN Q= 5 1150 IF H$= "6"THEN Q= 6 1160 IF H$= "7"THEN Q= 7 1170 IF H$= "8"THEN Q= 8 1180 IF H$= "9"THEN Q= 9 1190 IF H$= "A"THEN Q= 10 1200 IF H$= "B"THEN Q= 11 1210 IF H$= "C"THEN Q= 12 1212 IF H$= "D"THEN Q= 13 1214 IF H$= "E"THEN Q= 14 1220 IF H$= "F"THEN Q= 15 1250 REM - 1260 IF I$= "0"THEN R= 0 1270 IF I$= "1"THEN R= 1 1280 IF I$= "2"THEN R= 2 1290 IF I$= "3"THEN R= 3 1300 IF I$= "4"THEN R= 4 1310 IF I$= "5"THEN R= 5 1320 IF I$= "6"THEN R= 6 1330 IF I$= "7"THEN R= 7 1340 IF I$= "8"THEN R= 8 1350 IF I$= "9"THEN R= 9 1360 IF I$= "A"THEN R= 10 1370 IF I$= "B"THEN R= 11 1380 IF I$= "C"THEN R= 12 1390 IF I$= "D"THEN R= 13 1400 IF I$= "E"THEN R= 14 1410 IF I$= "F"THEN R= 15 1420 REM - 1430 IF J$= "0"THEN S= 0 1440 IF J$= "1"THEN S= 1 1450 IF J$= "2"THEN S= 2 1460 IF J$= "3"THEN S= 3 1470 IF J$= "4"THEN S= 4 1480 IF J$= "5"THEN S= 5 1490 IF J$= "6"THEN S= 6 1500 IF J$= "7"THEN S= 7 1510 IF J$= "8"THEN S= 8 1520 IF J$= "9"THEN S= 9 1530 IF J$= "A"THEN S= 10 1540 IF J$= "B"THEN S= 11 1550 IF J$= "C"THEN S= 12 1560 IF J$= "D"THEN S= 13 1570 IF J$= "E"THEN S= 14 1580 IF J$= "F"THEN S= 15 1590 REM - 1600 IF K$= "0"THEN T= 0 1610 IF K$= "1"THEN T= 1 1620 IF K$= "2"THEN T= 2 1630 IF K$= "3"THEN T= 3 1640 IF K$= "4"THEN T= 4 1650 IF K$= "5"THEN T= 5 1660 IF K$= "6"THEN T= 6 1670 IF K$= "7"THEN T= 7 1680 IF K$= "8"THEN T= 8 1690 IF K$= "9"THEN T= 9 1700 IF K$= "A"THEN T= 10 1710 IF K$= "B"THEN T= 11 1720 IF K$= "C"THEN T= 12 1730 IF K$= "D"THEN T= 13 1740 IF K$= "E"THEN T= 14 1750 IF K$= "F"THEN T= 15 1760 REM - 1770 IF L$= "0"THEN U= 0 1780 IF L$= "1"THEN U= 1 1790 IF L$= "2"THEN U= 2 1800 IF L$= "3"THEN U= 3 1810 IF L$= "4"THEN U= 4 1820 IF L$= "5"THEN U= 5 1830 IF L$= "6"THEN U= 6 1840 IF L$= "7"THEN U= 7 1850 IF L$= "8"THEN U= 8 1860 IF L$= "9"THEN U= 9 1870 IF L$= "A"THEN U= 10 1880 IF L$= "B"THEN U= 11 1890 IF L$= "C"THEN U= 12 1900 IF L$= "D"THEN U= 13 1910 IF L$= "E"THEN U= 14 1920 IF L$= "F"THEN U= 15 1930 GOTO 950 2000 PLOT 12,3,12,1,19,14 2010 PRINT "DECIMAL TO HEXA-DECIMAL CONVERSION" 2020 PLOT 15,22 2140 PRINT " THE FOLLOWING PROGRAM CONVERTS ANY WHOLE DECIMAL NUMBER,(UP" 2150 PRINT "TO MAX.OF 1048575), DIRECTLY INTO ITS HEXA-DECIMAL EQUIVALENT." 2160 PRINT " " 2170 PRINT " " 2180 INPUT " DECIMAL NUMBER TO BE CONVERTED?:";G 2190 IF G> 1048575THEN 2530 2200 G= ABS (G) 2210 IF G- INT (G)= 0THEN 2250 2220 PRINT "WHOLE NUMBERS ONLY.TYPE 1 TO RESTART":INPUT Z 2230 IF Z= 1GOTO 2000 2240 END 2250 H= G/ 65536:I= INT (H):J= 65536* I:K= G- J 2260 L= K/ 4096:M= INT (L):N= 4096* M:O= K- N 2270 P= O/ 256:Q= INT (P):R= 256* Q:S= O- R 2280 T= S/ 16:U= INT (T):V= 16* U:W= S- V 2290 PRINT " " 2300 PRINT " " 2310 PRINT " 1ST 2ND 3RD 4TH 5TH" 2315 PRINT " DIGIT DIGIT DIGIT DIGIT DIGIT" 2318 PLOT 17 2320 PLOT 3,15,14:PRINT I 2325 PLOT 3,22,14:PRINT M 2330 PLOT 3,29,14:PRINT Q 2335 PLOT 3,36,14:PRINT U 2340 PLOT 3,43,14:PRINT W 2350 PRINT " " 2360 PRINT " " 2370 GOTO 2590 2380 PLOT 22,3,15,18:PRINT "ANOTHER ONE?" 2390 PRINT " " 2400 PLOT 31:PRINT " HIT RETURN" 2410 PLOT 15:PRINT " " 2420 PRINT " " 2430 PRINT " " 2440 PRINT " " 2450 PRINT " " 2460 PRINT " " 2470 PRINT " TO DO HEXA-DEC. TO DEC. CONVERSIONS, HIT 9 & RETURN" 2472 PRINT " " 2475 INPUT " 8/RETURN RESTORES MENU:";X 2480 IF X= 0THEN 2000 2485 IF X= 8THEN 3000 2490 IF X= 9THEN 700 2495 IF X> 0THEN 100 2500 END 2510 PRINT " " 2520 PRINT " " 2530 PRINT "NUMBER IS GREATER THAN PROGRAM MAX. TRY ANOTHER?" 2540 PRINT "IF YES TYPE 1":INPUT Y 2550 IF Y= 1GOTO 2000 2560 GOTO 100 2570 REM -THE FOLLOWING CHANGES THE CALCULATED VALUES OF 10 2580 REM -THRU 15 TO THEIR CORRECT HEX TERMS OF A THRU F. 2590 IF I= 10THEN PLOT 3,16,14,65,32 2600 IF I= 11THEN PLOT 3,16,14,66,32 2610 IF I= 12THEN PLOT 3,16,14,67,32 2620 IF I= 13THEN PLOT 3,16,14,68,32 2630 IF I= 14THEN PLOT 3,16,14,69,32 2640 IF I= 15THEN PLOT 3,16,14,70,32 2650 IF M= 10THEN PLOT 3,23,14,65,32 2660 IF M= 11THEN PLOT 3,23,14,66,32 2670 IF M= 12THEN PLOT 3,23,14,67,32 2680 IF M= 13THEN PLOT 3,23,14,68,32 2690 IF M= 14THEN PLOT 3,23,14,69,32 2700 IF M= 15THEN PLOT 3,23,14,70,32 2710 IF Q= 10THEN PLOT 3,30,14,65,32 2720 IF Q= 11THEN PLOT 3,30,14,66,32 2730 IF Q= 12THEN PLOT 3,30,14,67,32 2740 IF Q= 13THEN PLOT 3,30,14,68,32 2750 IF Q= 14THEN PLOT 3,30,14,69,32 2760 IF Q= 15THEN PLOT 3,30,14,70,32 2770 IF U= 10THEN PLOT 3,37,14,65,32 2780 IF U= 11THEN PLOT 3,37,14,66,32 2790 IF U= 12THEN PLOT 3,37,14,67,32 2800 IF U= 13THEN PLOT 3,37,14,68,32 2810 IF U= 14THEN PLOT 3,37,14,69,32 2820 IF U= 15THEN PLOT 3,37,14,70,32 2830 IF W= 10THEN PLOT 3,44,14,65,32 2840 IF W= 11THEN PLOT 3,44,14,66,32 2850 IF W= 12THEN PLOT 3,44,14,67,32 2860 IF W= 13THEN PLOT 3,44,14,68,32 2870 IF W= 14THEN PLOT 3,44,14,69,32 2880 IF W= 15THEN PLOT 3,44,14,70,32 2890 GOTO 2380 3000 LOAD "MENU":RUN