PRINT INPUT PROMPT "足される2進数? ":a$ INPUT PROMPT "加える2進数? ":b$ LET n = LEN(a$) LET m = LEN(b$) IF n < m THEN LET c$ = a$ LET a$ = b$ LET b$ = c$ LET k = n LET n = m LET m = k END IF DIM T$(n),R$(n),S(n),W(n+1) FOR i=1 TO n LET T$(i) = a$(n+1-i:n+1-i) NEXT i FOR i=1 TO m LET R$(i) = b$(m+1-i:m+1-i) NEXT i FOR i=1 TO n-m LET R$(m+i) = "0" NEXT i FOR i=1 TO n+1 LET W(i) = 0 NEXT i FOR i=1 TO n LET S(i) = VAL(T$(i)) + VAL(R$(i)) + W(i) IF S(i) = 2 THEN LET S(i) = 0 LET W(i+1) = 1 ELSEIF S(i) = 3 THEN LET S(i) = 1 LET W(i+1) = 1 END IF NEXT i PRINT PRINT "大きい方の数の左右反転: "; FOR i=1 TO n PRINT VAL(T$(i)); NEXT i PRINT PRINT "小さい方の数の左右反転: "; FOR i=1 TO n PRINT VAL(R$(i)); NEXT i PRINT PRINT "上記の2つの数を加える: "; FOR i=1 TO n PRINT S(i); NEXT i IF W(n+1) = 1 THEN PRINT W(n+1); END IF PRINT PRINT "それを左右反転すると:  "; IF W(n+1) = 1 THEN PRINT W(n+1); END IF FOR i=n TO 1 STEP -1 PRINT S(i); NEXT i PRINT PRINT PRINT "大きい方の数:      "; IF W(n+1) = 1 THEN PRINT "  "; END IF FOR i=n TO 1 STEP -1 PRINT VAL(T$(i)); NEXT i PRINT PRINT "小さい方の数:      "; IF W(n+1) = 1 THEN PRINT "  "; END IF LET U = 0 FOR i=n TO 1 STEP -1 IF VAL(R$(i)) = 0 AND U = 0 THEN PRINT "  "; ELSE PRINT VAL(R$(i)); LET U = 1 END IF NEXT i PRINT PRINT "足し算の結果:      "; IF W(n+1) = 1 THEN PRINT W(n+1); END IF FOR i=n TO 1 STEP -1 PRINT S(i); NEXT i PRINT END