"BASCOM"
If Meinbyte.0 = 1 then gosub nullerbit_gesetzt
If Meinbyte.3 = 1 then gosub dreierbit_gesetzt
"C"
if (Meinbyte & (1 << 0)) nullerbit_gesetzt();
if (Meinbyte & (1 << 3)) dreierbit_gesetzt()
olla leutz,
i habe eine 8bit wert. dann muss i sagen, dass wenn das 4./5./6.Bit gesetzt ist jeweils eine aktion ausgeführt werden soll.
und nu meine frage:
wie kann i sagen, das wenn 4. bit gesetzt, dann mache eine aktion unabh der beiden anderen bits???
bei mir ist das so: wenn jeweils das jeweilige bit allein gesetzt ist, dann funzt es, aber sobald zwei gesetzt sind klappt es nicht mehr.
kann mir bitte jemand weiterhelfen???
Gruß Jens
"BASCOM"
If Meinbyte.0 = 1 then gosub nullerbit_gesetzt
If Meinbyte.3 = 1 then gosub dreierbit_gesetzt
"C"
if (Meinbyte & (1 << 0)) nullerbit_gesetzt();
if (Meinbyte & (1 << 3)) dreierbit_gesetzt()
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Prozessor/µC?
Sprache?
Datenquelle?
Wenn es in deinem Fall keine fertige Lösung geben soltle, müsstest du dich mal mit den verschiedenen Logikoperationen wie AND, OR, XOR... beschäftigen.
In deinem Fall: du verODERst dein Byte mit einem Byte, in dem alle Bits außer dem an der 4. Stelle gesetzt sind, und prüfst dann, ob im Ergebnis alle Bits gesetzt sind.
Oder die Lösung von picnick in C (AND mit nem Byte, wo nur das relevante Bit gesetzt ist, und dann testen ob das Ergebnis ungleich null (für C also true) ist). Es gibt bei so was unzählige Kombinationen...
also muss mit turbo c++ 3.0 programmieren.
hey danke uwegw...das hat gefunzt...
Vielen Dank!!!
Lesezeichen