Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
84
Task/Binary-digits/Tiny-BASIC/binary-digits.basic
Normal file
84
Task/Binary-digits/Tiny-BASIC/binary-digits.basic
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
REM variables:
|
||||
REM A-O: binary digits with A least significant and N most significant
|
||||
REM X: number whose binary expansion we want
|
||||
REM Z: running value
|
||||
|
||||
INPUT X
|
||||
LET Z = X
|
||||
IF Z = 0 THEN GOTO 999
|
||||
IF (Z/2)*2<>Z THEN LET A = 1
|
||||
LET Z = (Z - A) / 2
|
||||
IF (Z/2)*2<>Z THEN LET B = 1
|
||||
LET Z = (Z - B) / 2
|
||||
IF (Z/2)*2<>Z THEN LET C = 1
|
||||
LET Z = (Z - C) / 2
|
||||
IF (Z/2)*2<>Z THEN LET D = 1
|
||||
LET Z = (Z - D) / 2
|
||||
IF (Z/2)*2<>Z THEN LET E = 1
|
||||
LET Z = (Z - E) / 2
|
||||
IF (Z/2)*2<>Z THEN LET F = 1
|
||||
LET Z = (Z - F) / 2
|
||||
IF (Z/2)*2<>Z THEN LET G = 1
|
||||
LET Z = (Z - G) / 2
|
||||
IF (Z/2)*2<>Z THEN LET H = 1 REM THIS IS ALL VERY TEDIOUS
|
||||
LET Z = (Z - H) / 2
|
||||
IF (Z/2)*2<>Z THEN LET I = 1
|
||||
LET Z = (Z - I) / 2
|
||||
IF (Z/2)*2<>Z THEN LET J = 1
|
||||
LET Z = (Z - J) / 2
|
||||
IF (Z/2)*2<>Z THEN LET K = 1
|
||||
LET Z = (Z - K) / 2
|
||||
IF (Z/2)*2<>Z THEN LET L = 1
|
||||
LET Z = (Z - L) / 2
|
||||
IF (Z/2)*2<>Z THEN LET M = 1
|
||||
LET Z = (Z - M) / 2
|
||||
IF (Z/2)*2<>Z THEN LET N = 1
|
||||
LET Z = (Z - N) / 2
|
||||
LET O = Z
|
||||
IF X >= 16384 THEN GOTO 114
|
||||
IF X >= 8192 THEN GOTO 113
|
||||
IF X >= 4096 THEN GOTO 112
|
||||
IF X >= 2048 THEN GOTO 111
|
||||
IF X >= 1024 THEN GOTO 110
|
||||
IF X >= 512 THEN GOTO 109
|
||||
IF X >= 256 THEN GOTO 108
|
||||
IF X >= 128 THEN GOTO 107 REM THIS IS ALSO TEDIOUS
|
||||
IF X >= 64 THEN GOTO 106
|
||||
IF X >= 32 THEN GOTO 105
|
||||
IF X >= 16 THEN GOTO 104
|
||||
IF X >= 8 THEN GOTO 103
|
||||
IF X >= 4 THEN GOTO 102
|
||||
IF X >= 2 THEN GOTO 101
|
||||
PRINT 1
|
||||
END
|
||||
101 PRINT B,A
|
||||
END
|
||||
102 PRINT C,B,A
|
||||
END
|
||||
103 PRINT D,C,B,A
|
||||
END
|
||||
104 PRINT E,D,C,B,A
|
||||
END
|
||||
105 PRINT F,E,D,C,B,A
|
||||
END
|
||||
106 PRINT G,F,E,D,C,B,A
|
||||
END
|
||||
107 PRINT H,G,F,E,D,C,B,A
|
||||
END
|
||||
108 PRINT I,H,G,D,E,D,C,B,A
|
||||
END
|
||||
109 PRINT J,I,H,G,F,E,D,C,B,A
|
||||
END
|
||||
110 PRINT K,J,I,H,G,F,E,D,C,B,A
|
||||
END
|
||||
111 PRINT L,K,J,I,H,G,D,E,D,C,B,A
|
||||
END
|
||||
112 PRINT M,L,K,J,I,H,G,F,E,D,C,B,A
|
||||
END
|
||||
113 PRINT N,M,L,K,J,I,H,G,F,E,D,C,B,A
|
||||
END
|
||||
114 PRINT O,N,M,L,K,J,I,H,G,F,E,D,C,B,A
|
||||
END
|
||||
|
||||
999 PRINT 0 REM zero is the one time we DO want to print a leading zero
|
||||
END
|
||||
Loading…
Add table
Add a link
Reference in a new issue