kann mir jemand helfen bei dem Thema Bits und Bytes und Masken?
Folgende Problemstellung:
ich einen Speicherplatz mit 2 Bytes (die ersten 14 Bits werden verwendet) und möchte Bit 7-13 auslesen. Habe sogar die Masken dafür, kenne mich allerdings nicht so im Gebrauch mit diesen aus.
2 Byte
Bit 6-0 Maske 007F (Hex)
Bit 13-7 Maske 3F80 (Hex)
Beide Stellen beinhaltet einen Index/Zahl, welche zwischen 0 und 82 liegen sollte bzw vielleicht den Wert 32767.
Bekomme aber immer Werte im Bereich von mehreren Tausend oder Millionen.
Code: Alles auswählen
#test: 0x40 0x05
test, = unpack("<H", test) => 1344
test & 0x007F => 64
test & 0x3F80 => 1280
Habe mir das auch schon mit nullen und einsen aufgemalt:
Teil 1 | Teil2 | frei
0000000|0000000| ??
Im Besipiel vermute ich:
1000000|101??????
Masken dazu
1111111 (007F h und 127 d)
11111110000000 (3F80 h und 16256)
Wenn ich mir das hier so angucke verstehe ich noch weniger
Ich brauche nur einen Schubs im verwenden von Masken, Bitweiser Addition oder war das binär? oder lesen von Binär- Hexadezimal- und Dezimalzahlen.
Gruss
JP