Hallo, ich suche nach einer Möglichkeit mit Bascom aus 8 einzelnen Bit-Variablen eine Dezimalzahl zu erzeugen. Z.B. Habe ich hier 8 Variablen A,B,C,D,E,F,G,H A=1 B=0 C=0 D=0 E=1 F=1 G=0 H=0 Diese müsste ich zu einer Binärzahl zusammensetzen, damit ich diese dann mit Binval etc. in eine Dezimalzahl umwandeln kann. Bei diesem Beispiel wäre das Binär: 10001100 und entsprechend 140 in Dezimal.
sollte gehen: sammel muss als byte definiert sein. a= sammel.0 b= sammel.1 usw.
alles quatsch was ich schrieb... sammel.0= a sammel.2 = b usw....
> ich suche nach einer Möglichkeit mit Bascom aus 8 > einzelnen Bit-Variablen eine Dezimalzahl zu erzeugen. Man kann auch mal in die Gegenrichtung überlegen und sich mal fragen ob und warum diese 8 Variablen Bit-Variablen sein müssen bzw. ob es nicht einfacher wäre von Haus gleich eine Byte-Variable dafür zu benutzen.
Die Methode von pff funktioniert. Danke! @KarlHeinz: Das sind 8 einzelne Statusbits. Und die Zusammen sollen einen Dezimalen (Error) Code ergeben. Den kann man dann gut in einem Display anzeigen lassen und dann vom Benutzer auswerten. Wenn ich da jetzt einfach bloß eine Zahlenfolge von 1en und 0en sehe kann da ein unerfahrener Benutzer wenig mit Anfangen.
ubuntu schrieb: > warum man sich bascom antut... tut man wenn es nicht unbedingt und unvermeidlich C sein muß.
Hallo, ich hatte das selbe Problem, nämlich für einen gesamten Eingangsport mit 8 Pins einen Gesamt-Wert geliefert zu bekommen zwischen 0 und 255. Eure Lösung habe ich nicht kapiert, aber so ging es: dim A ... H as Byte dim C_gesamt as Byte 'Der gesamte Port C soll zu einem Byte zusammengefaßt werden A = pinc.0 B = pinc.1 * 2 C = pinc.2 * 4 D = pinc.3 * 8 E = pinc.5 * 16 F = pinc.6 * 32 G = pinc.7 * 64 H = pinc.4 * 128 'leider kann man nicht A+B+C+D+E+F+G+H auf einmal addieren. C_gesamt = A + B C_gesamt = C_gesamt + C C_gesamt = C_gesamt + D C_gesamt = C_gesamt + E C_gesamt = C_gesamt + F C_gesamt = C_gesamt + G C_gesamt = C_gesamt + H Print "Port-Eingang C gesamt" ; C_gesamt Gruß Tilmann
Idi schrieb: > ubuntu schrieb: >> warum man sich bascom antut... > > tut man wenn es nicht unbedingt und unvermeidlich C sein muß. das muss nun wirklich nicht sein, es gibt bei weitem leistungsfähigere Alternativen zu Bascom. man muss also nicht zwangsweise C nehmen wenn man es nicht mag.
Hi, auch ich nutze bascom.... Und wenn ich mal Zeit habe und groß bin, dann werde ich eine "leistungsfähigere" Sprache lernen ;) Für solche Sachen kann auch gut der overlay Befehl genutzt werden.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.