Zerlegung von Zahlen bis FF (Dez: 255) in Basic:
Wert=xxx (dezimal)
if wert>127 then dec wert,128:bit7=1 else bit7=0
if wert>63 then dec wert,64:bit6=1 else bit6=0
if wert>31 then dec wert,32:bit5=1 else bit5=0
if wert>15 then dec wert,16:bit4=1 else bit4=0
if wert>7 then dec wert,8:bit3=1 else bit3=0
if wert>3 then dec wert,4:bit2=1 else bit2=0
if wert>1 then dec wert,2:bit1=1 else bit1=0
if wert=1 then bit0=1 else bit0=0
Übrigens kann man in manchen Dialekten BIN$(xxx) verwenden um den Binärwert zu erhalten. Die oben gezeigte Routine ist aber komischerweise schneller als das BIN$() von Dark Basic Pro.
Im Prinzip mußt Du also nur den umgekehrten Weg der Binär zu Dezimalumrechnung gehen, statt multiplizieren, immer nur dividieren mit zweier-potenzen. Man kann die Routine also noch erweitern um größere Zahlen zu erfassen.
____________________________________
Meine guten PCs:
ZX Spectrum: 48+,128+,+2,+2a,+3,SAM Coupé. Commodore: C64 I/II, VC20, A500 mit GVP A530 40Mhz,A2000 GVP 030/33 18MB RAM, A600HD,A1200. Atari: 130XE, 800XL, Mega STE 4MB, Mega ST4. MSX: Philips, Sony.
|