Kann mir jemand die Bedeutung von ^ erklären ???



  • Hi,

    sagmal kann das sein das

    for (int i=0; i<=10; i++)
    {
      echo i^255;
    }
    

    i: 1 i^255: 254
    i: 2 i^255: 253
    i: 3 i^255: 252
    i: 4 i^255: 251
    i: 5 i^255: 250
    i: 6 i^255: 249
    i: 7 i^255: 248
    i: 8 i^255: 247
    i: 9 i^255: 246

    heißt das das i=1 sich zu 255 um 254 unterscheidet oder wie sagt man das ????

    danke



  • ^ bedeutet XOR-Verknüpfung:

    a     b       a XOR b
    0     1           1
    0     0           0
    1     1           0
    1     0           1
    


  • Hallo,

    "^" ist der sogenannte XOR-Operator. Die Wahrheitstabelle sieht wie folgt aus (in Binär):

    A B | Q
    -------
    0 0 | 0
    0 1 | 1
    1 0 | 1
    1 1 | 0
    

    In deinem Beispiel wird die Zahl 255 mit der Variable i verknüpft, die von 0 bis 10 zählt (die Ausgabe stimmt nicht ganz).

    255 in Binär sieht so aus: 1111 1111
    Also ein Byte mit lauter Einsen. Wenn du diese Zahl z.B. mit 3 XOR-verknüpfst kippt das erste und das zweite Bit um (sie werden zu Nullern), weil dezimal 3 in binär umgerechnet so aussieht: 3 = 11 (21+20)

    Eine Frage für dich, falls du es kapiert hast:
    Wenn du 255 mit 255 XOR-verknüpfen würdest welches Ergebnis würde rauskommen?


Anmelden zum Antworten