-
-
Erfahrener Benutzer
Roboter Genie
hi elvis,
habe von C++ wenig ahnung, aber du verwendest ja die mitgelieferte library. ReadAllDigital() liefert dir einen wert (ausgabe dezimal, im rechner is aber ja alles binär). soweit ich weiß, gibt es 8 ports oder?
binär geht so:
00000001 =1 = kanal 1 gesetzt
00000010 = 2 = kanal 2 gesetzt
00000011 = 3 = kanal 1+2 gesetzt
00000100 = 4 = kanal 3 gesetzt
00000101 = 5 = kanal 1+3 gesetzt
...
du rechnest also beim letzten wert: 2 hoch 2 + 2 hoch 0 (das ist 4+1) =5.
10000001 ist also 2 hoch 7 + 2 hoch 0. das ist 129. also: 2 hoch (stelle einer 1) wobei die erste stelle 0 ist, die letzte (bei 8 bit) 7.
grösste darstellbare zahl ist damit (8bit) 128+64+32+16+8+4+2+1 (binär ist das dann 11111111) ist 255.
sagen wir du bekommst ein 123. das ist dann 64 (128 wär möglich aber is ja schon zu groß) + 32 (dann sinds 96) + 16 (->112) + 8 (->120) + 2 (4 wäre schon zuviel, wären dann ja 124 - so sinds 122) + 1 = (schwupp) 123.
dein binärcode wäre damit 01111011. port 8 und port 3 sind also 0, alle anderen gesetzt.
hilft?
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen