# XOR Verknüpfung



## Aphex (24. Jul 2009)

Hallo Leute,

ich habe eine Aufgabe zu lösen und bin mir nicht ganz sicher, ob ich auf dem richtigen Weg bin...
Folgende Aufgabenstellung:

Ermitteln sie das Ergebnis der XOR Verknüpfung der Zahlen 1234567 und 9876543 und wandeln sie es in die binäre Darstellung um.

Das Ganze möchte ich mittels einer Scrapbook-Page lösen.
Muss ich jedes einzelne Zeichen erst umwandeln mittels:

```
Integer.toBinaryString(1);
```
 oder
reicht es, wenn ich den ganzen String umwandel.


```
Integer.toBinaryString(1234567);
```

Dann brauche ich ja eigentlich nur noch folgendes zu schreiben:
System.out.println(wert1^wert2);
Die ScrapbookPage meldet dann aber, dass ich außerhalb des Integerbereichs bin.
Geht denn auch:


```
Long.toBinaryString(1234567);
```
   ?

Mein Anliegen ist wahrscheinlichtotal lächerlich, aberich stehe da etwas auf dem Schlauch.

Gruß
Jens


----------



## thE_29 (24. Jul 2009)

Warum probierst du es nicht einfach und wandelst die Zahl dann mit dem Windowsrechner um um es zu prüfen?

In der Zeit in der du den Thread hier geschrieben hast, hättest das ruig machen können


----------



## Aphex (24. Jul 2009)

Ich bin mir einfach nicht sicher, ob es der richtige Weg ist.
Aber ich probiere es mal aus.


----------



## Aphex (24. Jul 2009)

Long.toBinaryString(1234567) (java.lang.String)100101101011010000111
Long.toBinaryString(9876543) (java.lang.String)100101101011010000111111

Soweit bin ich jetzt. Wie mache ich das jetzt mit der XOR Verknüpfung?
Ich werde immer mit der Meldung konfrontiert, dass ich außerhalb des Integer-Bereichs liege.


----------



## Painii (24. Jul 2009)

> Ermitteln sie das Ergebnis der XOR Verknüpfung der Zahlen 1234567 und 9876543 und wandeln sie es in die binäre Darstellung um.



Mach doch was da steht?
zahl = 1234567 XOR 9876543
toBinaryString(zahl)

fertig.


----------



## Snooky (26. Jul 2009)

Ich würds so machen:


```
int a = 1234567;
int b = 9876543;
System.out.println(Integer.toBinaryString(a^b));
```

Eben genau das, was da steht. Eine Fehlermeldung bezüglich des Integer Wertebereichs habe ich nie bekommen.
Die ist doch eigentlich auch unmöglich, oder?
Wenn ich 2 Zahlen, die in Integer passen, mittels XOR verknüpfe, kann das Ergebnis doch nicht plötzlich größer als Integer sein, weil sich nur die Werte der einzelnen Bits ändern können, aber nicht die Bitlänge insgesamt.


----------

