Vergleich mit tilde

OP #5050606
Lesenswert?

Hallo alle zusammen :-)

Ich bin gerade beim programmieren auf ein Problem gestoßen.
Es geht um folgenden Code
1
  EEPROM_DatenWerte.versionderEepromstruktur[0] =0;
2
  EEPROM_DatenWerte.versionderEepromstrukturInvertiert[0] =255;
3

4
  test[0] = (~(EEPROM_DatenWerte.versionderEepromstrukturInvertiert[0]));
5
  test[1] = EEPROM_DatenWerte.versionderEepromstruktur[0];
6

7
  if((EEPROM_DatenWerte.versionderEepromstruktur[0]) !=     
8
    (~(EEPROM_DatenWerte.versionderEepromstrukturInvertiert[0])) )
9
  {
10
    test[2] =100; //Wird seltsamerweiße ausgeführt
11
  }
12

13
  if(test[0] !=     test[1] )
14
  {
15
    test[3] =100; //Wird richtigerweiße nicht ausgeführt
16
  }

Alle Werte haben den Datentyp char.

Die 2 ifs sind eigentlich identisch. Der einzige Unterschied ist dass 
das eine den Vergleich direkt macht und das zweite if über eine 
zwischengespeicherte Variable.
Allerdings wird das erste If seltsamerweiße ausgeführt, obwohl beide 
Vergleiche gleich sein sollte.

test[2] ist am Ende 100
und
test[3] ist 0

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren