Sorry, nie ma.
Nie ma odwracania, program po prostu przetwarza łańcuch od końca.
Wiem, że wygląda teraz niesymetrycznie, ale tak naprawdę chyba nie jest do niczego potrzebne?
![Wink ;)](https://www.speccy.pl/forum/Smileys/aaron/wink.gif)
Rozumiem, że przydawało się do testów, ale jak już działa...
Ewentualnie można wydrukować łańcuch od tyłu
![Tongue :P](https://www.speccy.pl/forum/Smileys/aaron/tongue.gif)
Przy okazji jak się przyglądałem, to wpadłem, że IF w linii 2050 nie jest do końca niezbędny. Odejmowanie od s sobie poradzi, tylko trzeba jakoś wybrać "0" czy "1". I wymyśliłem! Bezpośrednie indeksowanie łańcucha, które zawsze mnie rozbawia (w linii 2060)
![Cheesy :D](https://www.speccy.pl/forum/Smileys/aaron/cheesy.gif)
.
100 REM liczba HEX w x$, tylko duże litery
110 LET n$=""
120 LET s=CODE x$(1): GO SUB 2000
130 LET s=CODE x$(2): GO SUB 2000
140 STOP: REM wynik w n$
2000 IF s>CODE "9" THEN LET s=s-(CODE "A"-CODE "9"-1)
2010 LET s=s-CODE "0"
2020 FOR a=3 TO 0 STEP -1
2040 LET b=INT (s/2^a)
2050 LET s=s-b*2^a
2060 LET n$=n$+"01"(b+1)
2070 NEXT a
2080 RETURN
Jest krótsze.
Jak już miałem to w pamięci, to w ten sam sposób poprawiłem też BIN -> HEX:
10 LET h$=""
20 LET start=5: GO SUB 1000
30 LET start=1: GO SUB 1000
40 STOP: REM wynik w h$
1000 LET h=0
1010 FOR a=0 TO 3
1020 LET h=h+2^(3-a)*VAL b$(3-a+start)
1030 NEXT a
1050 LET h$=h$+"0123456789ABCDEF"(h+1)
1060 RETURN
I teraz jest szybsze!
I lepiej wygląda
![Cheesy :D](https://www.speccy.pl/forum/Smileys/aaron/cheesy.gif)
I od razu widać co robi.
EDIT: poprawki w linii 1050. Zmiana załącznika