Avatar billede nielsbrinch Nybegynder
06. oktober 2003 - 19:46 Der er 10 kommentarer og
1 løsning

Hvad er XOR?

Nogen der kan fortælle mig hvad XOR er og give et eksempel på hvordan det kan realiseres i Java?
Avatar billede terry Ekspert
06. oktober 2003 - 19:49 #1
If bit in expression1 is And bit in expression2 is Then result is
0 0 0
0 1 1
1 0 1
1 1 0
Avatar billede terry Ekspert
06. oktober 2003 - 19:50 #2
This example is taken from VB but the result is the same

Xor Operator Example
This example uses the Xor operator to perform logical exclusion on two expressions.

Dim A, B, C, D, MyCheck
A = 10: B = 8: C = 6: D = Null    ' Initialize variables.
MyCheck = A > B Xor B > C    ' Returns False.
MyCheck = B > A Xor B > C    ' Returns True.
MyCheck = B > A Xor C > B    ' Returns False.
MyCheck = B > D Xor A > B    ' Returns Null.
MyCheck = A Xor B    ' Returns 2 (bitwise comparison).
Avatar billede jakoba Nybegynder
06. oktober 2003 - 19:52 #3
det står for Exclusive OR
det vil sige enten den ene, eller den anden, men ikke begge

true XOR true  giver false  (begge to)
true XOR false giver true
false XOR true giver true
false XOR false giver false  (ingen af dem)

Den bruges ofte når noget skal kodes så det er nemt at kode tilbage igen

"A" XOR gylle  giver uigenkendeligBitkode
uigenkendeligBitkode XOR gylle giver "A"

mvh JakobA
Avatar billede Slettet bruger
06. oktober 2003 - 19:53 #4
A eller B, men ikke begge på en gang.

Sandhedstabel:

A|B|A xor B
-----------
0|0|0
1|0|1
0|1|1
1|1|0

I java a ^ b
Avatar billede arne_v Ekspert
06. oktober 2003 - 19:53 #5
XOR = eXclusive OR

binært 0011 XOR 0101 = 0110
decimal 3 OR 5 = 6

XOR i Java er ^ d.v.s. du skriver:

int a = 3;
int b = 5;
int c = a ^ b;
Avatar billede arne_v Ekspert
06. oktober 2003 - 19:54 #6
decimal 3 XOR 5 = 6
Avatar billede jakoba Nybegynder
06. oktober 2003 - 19:54 #7
He He, der var noget vi kunne :-))
Avatar billede nielsbrinch Nybegynder
06. oktober 2003 - 19:55 #8
Mange tak
Avatar billede nielsbrinch Nybegynder
06. oktober 2003 - 19:55 #9
hov, du havde ikke svaret da jeg accepterede ...
Avatar billede nielsbrinch Nybegynder
06. oktober 2003 - 20:05 #10
Jakoba, du har vel ikke den funktion du der bruger (XOR) til at XOR'e to strenge til hinanden på den måde?
Avatar billede arne_v Ekspert
06. oktober 2003 - 20:12 #11
Det er meget nemt:

String s = "tophemmeligt";
String pw = "kodeord";
StringBuffer temp = new StringBuffer("");
for(int i = 0; i < s.length(); i++) {
  temp.append((char)(s.charAt(i) ^ pw.charAt(i % pw.length()));
}
String skodet = temp.toString();
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester