Binärwert von IO/Modul berechnen?

Gast #2265984
Lesenswert?

Hallo,

ich habe ein Eingangsmodul mit 16 digitalen Eingängen.

Die Adresse von den Eingängen sind Binär:

DI1   DI2  DI3   DI4 ....... DI16
 1     2    4     8         32768


Sind nun zB. DI2  DI4 und DI16 aktiv (High)

bekomme ich den Wert 32778 vom Modul.

Wie berechne ich nun mit deser Zahl welche Ausgänge auf High sind?

mfg
Gast #2266024
Lesenswert?

Danke für die Antwort, ja stimmt die Eingänge sind genau anders rum.

Mit dem Windows Taschenrechner hab ich das schon gmeacht, mein Problem 
ist eigendlich was benutze ich dafür für eine Formel damit ich das in 
eine Software einbauen kann die dann weiß welche Eingänge high und 
welche low sind.
#2266219
Lesenswert?

Christoph schrieb:
> Danke für die Antwort, ja stimmt die Eingänge sind genau anders rum.
>
> Mit dem Windows Taschenrechner hab ich das schon gmeacht, mein Problem
> ist eigendlich was benutze ich dafür für eine Formel damit ich das in

Im folgenden Link wird eine kleine Einführung in die Thematik gegeben. 
Der Link dreht sich eigentlich um etwas anderes, aber die Einführung 
beantwortet genau deine Frage. Wenn dort von 8 Bit die Rede ist, lass 
dich nicht verdriessen ... es geht um die Systematik. Und die ist bei 16 
Bit genau die gleiche wie bei 8 Bit.

http://www.mikrocontroller.net/articles/AVR-Tutorial:_Arithmetik8#8-Bit_Arithmetik_ohne_Ber.C3.BCcksichtigung_eines_Vorzeichens

> eine Software einbauen kann die dann weiß welche Eingänge high und
> welche low sind.

Das brauchst du nicht. Denn wenn du den Link begriffen hast, hast du 
gelernt, dass binär und dezimal einfach nur 2 verschiedene Schreibweisen 
desselben Sachverhaltes sind: einer Zahl. D.h dein Problem reduziert 
sich damit zu: Wie setzte ich ein Bit, Wie lösche ich ein Bit und Wie 
stelle ich fest, ob ein Bit gesetzt ist. Ob dieser Bithaufen dann binär 
in Form von 0 und 1 angezeigt wird oder dezimal als dir vertraute Zahl, 
das ist eine reine Frage dessen, wie man sich diesen Bithaufen anzeigen 
lässt.

Bitmanipulation

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren