004
29.10.2003, 22:28 Uhr
0xdeadbeef
Gott (Operator)
|
Zur Erklärung: Binäres XOR heißt, dass die Zahlen bitweise genommen werden und dann jeweil gexort. Zum Beispiel:
Code: |
1100 = 12 1010 = 10 ---- 0110 = 10 ^ 12 = 6
|
Da 1 XOR 1 = 0, 1 XOR 0 = 1, 0 XOR 1 = 1, 0 XOR 0 = 0. (Du kannst auch 1 = wahr und 0 = falsch setzen, dann wird es einsichtiger). Was das eigentliche Problem angeht - x zum Quadrat ist dasselbe wie x mal x, also ist die einfachste Möglichkeit dafür tatsächlich, x*x zu schreiben. Wenn du 2 hoch x haben willst, kannst du entweder auf die pow-Funktion zurückgreifen (empfehlenswert, weil schnell und einfach), wobei der erste Parameter die Basis und der zweite der Exponent ist. Also zum Beispiel:
C++: |
zwei_hoch_x = pow(2, x);
|
Wenn dus von Hand machen willst, drängt sich mir der Verdacht auf, dass das eine Hausaufgabe ist. Und in dem Fall will ich erst deinen Ansatz sehen, bevor ich dir helfe. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 29.10.2003 um 22:31 Uhr von 0xdeadbeef editiert. |