hallo,
du hast bei int16 2 bytes, bestehend aus je 8 bit:
76543210 76543210
(High Byte) (LowByte)
wie hier die Zahlen größer als 255 verschlüsselt werden weißt du aber schon, oder?
Der echte Wert des LowBytes bleibt identisch mit seinem Bytewert,
um das Low-Byte zu maskieren, wird die Integerzahl per AND-Verknüpfung bitweise mit der Zahl 255 verknüpft (255 bitweise = 00000000 11111111).
Dadurch fallen alle Werte >255 raus und das reine LowByte bleibt übrig.
Der echte Wert des HighBytes in der Integerzahl ist der 256-fache reine Bytewert.
Statt / 256 kann man auch 8 bits nach rechts shiften. Dadurch werden schrittweise alle Bits nach rechts verschoben, die 8 unteren Bits 0-7 fliegen raus und die oberen 8 bits 0-7 stehen jetzt quasi alleine da.
Lesezeichen