Archiv verlassen und diese Seite im Standarddesign anzeigen : testen ob das x bit gesetzt ist???
Hallo ...
ich würde gerne wissen ob bei meiner Testzahl das x z.B 8 Bit gesetzt
uint8_t Testzahl;
if (Testzahl&16) ...
ist das so richtig?:eek: :eek:
Hi
16 = 2^4, also ist das das Bit 4, bzw. das 5. Bit.
Um das 8. Bit zu testen brauchst du 2^7, also 128.
Es ist aber üblicher und komfortabler das als HEX Zahlen zu schreiben, also etwa 0x80 statt 128. Aber lesbarer ist dann wohl sowas
if (zahl & (0x01 << 7)) {
// Bit 7 (d.h. 8. Bit) gesetzt
}
CU
Andi
Danke ...
ich habe jetzt noch einen Array der 4 byte groß ist bei dem kann ich jetzt ja auf 32 Bit testen.
Ich lese jetzt also aus einem long int pointer auf den Anfang des Array[4] den Adressbereich aus und prüfe das dann auf die gesetzten bit.
Ist das so möglich?
signed long int *pointer;
uint8_t buffer[4];
pointer = (signed long int *) buffer;
if (*pointer & 0x01<<30){ das 31.Bit ist gesetzt}
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.