На бейсике "раскидывание" на биты, однобайтового десятичного значения, можно организовать в виде подпрограммы (строки 2 и 30 служат для ввода и вывода значения):
Код:
2 INPUT n
...
8 DIM b(8)
10 IF n>127 THEN LET n=n-128: LET b(8)=1
12 IF n>63 THEN LET n=n-64: LET b(7)=1
14 IF n>31 THEN LET n=n-32: LET b(6)=1
16 IF n>15 THEN LET n=n-16: LET b(5)=1
15 IF n>7 THEN LET n=n-8: LET b(4)=1
20 IF n>3 THEN LET n=n-4: LET b(3)=1
22 IF n>1 THEN LET n=n-2: LET b(2)=1
24 LET b(1)=n
...
30 FOR i =1 TO 8: PRINT AТ 0, i; b(i): NEXT i
Можно организовать программу несколько иначе (отказаться от массива). Данный вариант показывает общий принцип, что это можно реализовать довольно коротко и просто.
----
В отличии от "циклопической" программы из книжки: "Как написать игру..."
Код:
10 DIM J(5)
20 LET JOY=IN 31
30 FOR N=1 TO 5
40 LET JOY=J0Y/2
50 LET J(N)=(JOY<>INT JOY): LET JOY=INT JOY
60 NEXT N
70 PRINT AT 0,0;
80 FOR N=5 TO 1 STEP -1
90 PRINT J(N);
100 NEXT N
110 GO TO 20