webForumDet fria alternativet

^= ?

2 svar · 215 visningar · startad av Nexus86

Nexus86Medlem sedan okt. 20023 030 inlägg
#1

Vad gör de här raderna?

for (i=2; i<12; i++)
    data_h[i]^=0xa5;

data_h är en char (char data_h[12];) och innehåller lite diverse tecken. T.ex. så innehåller den dessa värden:

  • data_h[2] == 17
  • data_h[3] == 32

Resultatet efter att ha kört koden ovan är:

  • data_h[2] == -76
  • data_h[3] == -121

Jag kommer iaf inte på någon logisk lösning till vad koden kan göra men någon annan kanske vet? :)

Alpha IIMedlem sedan maj 20002 993 inlägg
#2

data_h*^=0xa5;

är samma sak som

data_h *= data_h *^ 0xa5;

Dvs XOR.***

Nexus86Medlem sedan okt. 20023 030 inlägg
#3

Jo det visste jag men inte att det var XOR. Tack! :bire

128 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)