Code: CLS COLOR 10,0
'adder initialisation DIM HexaDecimal$(15),HDTD$(15),HDTD%(15) DATA "0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F" FOR I%=0 TO 15 READ HexaDecimal$(I%) NEXT I%
DIM F3HDS%(15,15,1),F3HDC%(15,15,1)
FOR K%=0 TO 1 FOR J%=0 TO 15 FOR I%=0 TO 15 F3HDS%(I%,J%,K%)=(I%+J%+K%) MOD 16 F3HDC%(I%,J%,K%)=(I%+J%+K%) \ 16 PRINT HexaDecimal$(F3HDS%(I%,J%,K%)); NEXT I% NEXT J% NEXT K% PRINT FOR K%=0 TO 1 FOR J%=0 TO 15 FOR I%=0 TO 15 F3HDC%(I%,J%,K%)=(I%+J%+K%) \ 16 PRINT HexaDecimal$(F3HDC%(I%,J%,K%)); NEXT I% NEXT J% NEXT K% PRINT PRINT
'input numbers A$="000F00F00F00F00F" B$="000B00C00D00E00F" C%=0 PRINT A$ PRINT B$ PRINT "----------------"
DIM A$(15),B$(15),A%(15),B%(15),S%(15) FOR I%=0 TO 15 A$(I%)=MID$(A$,16-I%,1) IF ASC(A$(I%))<58 THEN A%(I%)=VAL(A$(I%)) ELSE A%(I%)=ASC(A$(I%))-&H37 B$(I%)=MID$(B$,16-I%,1) IF ASC(B$(I%))<58 THEN B%(I%)=VAL(B$(I%)) ELSE B%(I%)=ASC(B$(I%))-&H37 NEXT I%
MTIMER 'adding FOR I%=0 TO 15 S%(I%)=F3HDS%(A%(I%),B%(I%),C%) C% =F3HDC%(A%(I%),B%(I%),C%) NEXT I% ElapsedTime=MTIMER
FOR I%=15 TO 0 STEP -1 PRINT HexaDecimal$(S%(I%)); NEXT I% PRINT PRINT PRINT "It took";ElapsedTime;"microseconds" END
|