Analyse byte
-
So wieder eine Frage...
Ich habe ein array mit 4 bytes. Das letzte byte ist z.B 01001001 aber ich interesiere mich nur fur die letzte drei bits. Wie can ich nur die drei letzte bits nehmen und die speihern ?
-
foo & 7
-
Mit einer AND Verknüpfung wo nur die letzten 3 bits gesetzt sind.
Variable &= 7
-
unsigned char array[4]; unsigned char DreiBits; /* ... */ DreiBits = array[3] & 0x07; /*...*/
Abfrage auf einzelne Bits:
unsigned char var; /* ... */ /* Bit 0: */ var = array[3] & 0x01; /* Bit 1: */ var = array[3] & 0x02; /* Bit 2: */ var = array[3] & 0x04; /* Bit 3: */ var = array[3] & 0x08; /* Bit 4: */ var = array[3] & 0x10; /* Bit 5: */ var = array[3] & 0x20; /* Bit 6: */ var = array[3] & 0x40; /* Bit 7: */ var = array[3] & 0x80;