Basis van programmeren (pseudocode traceren)
⊕ is de bitsgewijze exclusieve OF. Welke waarden hebben x en y nadat het volgende programma is uitgevoerd?
integer: x ← 12, y ← 10
x ← x ⊕ y
y ← x ⊕ y
x ← x ⊕ y
- Ax = 10, y = 12
- Bx = 6, y = 12
- Cx = 12, y = 10
Antwoord en toelichting tonen
Antwoord: A. x = 10, y = 12
Binair is 12 = 1100 en 10 = 1010. De eerste toekenning geeft x = 1100 ⊕ 1010 = 0110 = 6, de tweede y = 0110 ⊕ 1010 = 1100 = 12 en de derde x = 0110 ⊕ 1100 = 1010 = 10. Zo worden de waarden verwisseld zonder tijdelijke variabele, met als basis dat tweemaal XOR met dezelfde waarde het origineel teruggeeft (a ⊕ b ⊕ b = a).
Verder: nog 9 vragen over Basis van programmeren (pseudocode traceren)