Anzeige:
Ergebnis 1 bis 3 von 3

Thema: testen ob das x bit gesetzt ist???

  1. #1
    Registrierter Benutzer Avatar von 24dan
    Registriert seit
    07.07.2005
    Beiträge
    76

    testen ob das x bit gesetzt ist???

    Hallo ...
    ich würde gerne wissen ob bei meiner Testzahl das x z.B 8 Bit gesetzt

    Code:
    uint8_t Testzahl;
    
    if (Testzahl&16) ...
    ist das so richtig?
    Geändert von 24dan (18-05-2006 um 12:07 Uhr)
    ...der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott. (Werner Heisenberg 1901-1976, Nobelpreisträger für Physik)
    debian on acer travelmate c300: http://adweb.desy.de/~kaemtner/

  2. #2
    Registrierter Benutzer
    Registriert seit
    11.03.2004
    Beiträge
    40
    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
    Code:
    if (zahl & (0x01 << 7)) {
      // Bit 7 (d.h. 8. Bit) gesetzt
    }
    CU
    Andi

  3. #3
    Registrierter Benutzer Avatar von 24dan
    Registriert seit
    07.07.2005
    Beiträge
    76
    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?
    Code:
    signed long int *pointer;
    uint8_t buffer[4];
    
    pointer = (signed long int *) buffer;
    
    if (*pointer & 0x01<<30){ das  31.Bit ist gesetzt}
    Geändert von 24dan (18-05-2006 um 15:25 Uhr)
    ...der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott. (Werner Heisenberg 1901-1976, Nobelpreisträger für Physik)
    debian on acer travelmate c300: http://adweb.desy.de/~kaemtner/

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •