WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 10.11.2002, 16:31   #1
PierreK@
Senior Member
 
Registriert seit: 09.07.2002
Alter: 37
Beiträge: 129


PierreK@ eine Nachricht über ICQ schicken
Standard Xor / Werte "xoren"

Was ist XOR ?

ich muss 2 werte xoren , weiß aber nicht was das ist und wie das geht.

kann mir da wer helfen ?

Beispiel :

ce28297dede40fab3a0f6436aff3881f
xor
fefd887d70a73d88ac14f9a2774170a2
=
c0f38a1ca252cd81d96887dc152b0863
PierreK@ ist offline   Mit Zitat antworten
Alt 10.11.2002, 17:20   #2
Who-T
Elite
 
Registriert seit: 01.08.2000
Beiträge: 1.395


Who-T eine Nachricht über ICQ schicken
Standard

XOR ist eine logische operation, wird in programmiersprachen mit ^ gemacht.

Wahrheitstabelle:

0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0
____________________________________
Whoever built humanity left in a major design flaw: it was the tendency to bend at the knees.
Who-T ist offline   Mit Zitat antworten
Alt 10.11.2002, 17:21   #3
Sesa_Mina
Schwarzfußfrettchen
 
Registriert seit: 28.01.2001
Beiträge: 2.071


Standard

zerleg die zahlen in ihre einzelnen bits.

dann rechne nach folgender tabelle um.


Code:
XOR-Gatter    Input 1   Input 2   Output 
                 0         0        0 
                 0         1        1 
                 1         0        1 
                 1         1        0
Das Resultat wandle wieder zurück und du hast das Ergebnis.
____________________________________
Wann die kan Almdudler ham... \"Es gibt nur einen Weg zur Lunge, und der muss geteert werden, damit der Krebs nicht stolpert!\"
http://www.dream.at/gizmo/bunny.gif
Image is © 2001 Merle
Sterndalsäg.. ähh... jäger
Sesa_Mina ist offline   Mit Zitat antworten
Alt 10.11.2002, 17:32   #4
PierreK@
Senior Member
 
Registriert seit: 09.07.2002
Alter: 37
Beiträge: 129


PierreK@ eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von Sesa_Mina
zerleg die zahlen in ihre einzelnen bits.

dann rechne nach folgender tabelle um.


Code:
XOR-Gatter    Input 1   Input 2   Output 
                 0         0        0 
                 0         1        1 
                 1         0        1 
                 1         1        0
Das Resultat wandle wieder zurück und du hast das Ergebnis.
danke für die hilfe !!!

aber ich verstehe nicht wie ich die zahlen in einzelne bits zerlegen soll.

kannst du mir ein beispiel geben ?
PierreK@ ist offline   Mit Zitat antworten
Alt 10.11.2002, 17:41   #5
Sesa_Mina
Schwarzfußfrettchen
 
Registriert seit: 28.01.2001
Beiträge: 2.071


Standard

Nachdem du die Zahlen in hexadezimalform angegeben hast kannst du sie leicht in ihre bits zerlegen.


0 = 0000
1 = 0001
2 = 0010
3 = 0011
4 = 0100
5 = 0101
6 = 0110
7 = 0111
8 = 1000
9 = 1001
10 (A) = 1010
11 (B) = 1011
12 (C) = 1100
13 (D) = 1101
14 (E) = 1110
15 (F) = 1111
____________________________________
Wann die kan Almdudler ham... \"Es gibt nur einen Weg zur Lunge, und der muss geteert werden, damit der Krebs nicht stolpert!\"
http://www.dream.at/gizmo/bunny.gif
Image is © 2001 Merle
Sterndalsäg.. ähh... jäger
Sesa_Mina ist offline   Mit Zitat antworten
Alt 10.11.2002, 17:42   #6
Sesa_Mina
Schwarzfußfrettchen
 
Registriert seit: 28.01.2001
Beiträge: 2.071


Standard

also aus 4fac wird dann 0100 1111 1010 1100

und aus 1110 1011 0010 0001 wird eb21
____________________________________
Wann die kan Almdudler ham... \"Es gibt nur einen Weg zur Lunge, und der muss geteert werden, damit der Krebs nicht stolpert!\"
http://www.dream.at/gizmo/bunny.gif
Image is © 2001 Merle
Sterndalsäg.. ähh... jäger
Sesa_Mina ist offline   Mit Zitat antworten
Alt 10.11.2002, 17:49   #7
PierreK@
Senior Member
 
Registriert seit: 09.07.2002
Alter: 37
Beiträge: 129


PierreK@ eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von Sesa_Mina
also aus 4fac wird dann 0100 1111 1010 1100

und aus 1110 1011 0010 0001 wird eb21
danke habs verstanden.

und muss ich jetzt die 2 zeilen die ich binär umgewandelt hab zusammen rechnen und dann wieder auf dezimal umwandeln ?
PierreK@ ist offline   Mit Zitat antworten
Alt 10.11.2002, 17:49   #8
LDIR
Retro Computing Fan
 
Benutzerbild von LDIR
 
Registriert seit: 30.01.2001
Ort: Wien 21
Alter: 53
Beiträge: 1.723

Mein Computer

Standard

Zerlegung von Zahlen bis FF (Dez: 255) in Basic:

Wert=xxx (dezimal)

if wert>127 then dec wert,128:bit7=1 else bit7=0
if wert>63 then dec wert,64:bit6=1 else bit6=0
if wert>31 then dec wert,32:bit5=1 else bit5=0
if wert>15 then dec wert,16:bit4=1 else bit4=0
if wert>7 then dec wert,8:bit3=1 else bit3=0
if wert>3 then dec wert,4:bit2=1 else bit2=0
if wert>1 then dec wert,2:bit1=1 else bit1=0
if wert=1 then bit0=1 else bit0=0


Übrigens kann man in manchen Dialekten BIN$(xxx) verwenden um den Binärwert zu erhalten. Die oben gezeigte Routine ist aber komischerweise schneller als das BIN$() von Dark Basic Pro.

Im Prinzip mußt Du also nur den umgekehrten Weg der Binär zu Dezimalumrechnung gehen, statt multiplizieren, immer nur dividieren mit zweier-potenzen. Man kann die Routine also noch erweitern um größere Zahlen zu erfassen.
____________________________________
Meine guten PCs:
ZX Spectrum: 48+,128+,+2,+2a,+3,SAM Coupé. Commodore: C64 I/II, VC20, A500 mit GVP A530 40Mhz,A2000 GVP 030/33 18MB RAM, A600HD,A1200. Atari: 130XE, 800XL, Mega STE 4MB, Mega ST4. MSX: Philips, Sony.
LDIR ist offline   Mit Zitat antworten
Alt 10.11.2002, 17:52   #9
LDIR
Retro Computing Fan
 
Benutzerbild von LDIR
 
Registriert seit: 30.01.2001
Ort: Wien 21
Alter: 53
Beiträge: 1.723

Mein Computer

Standard

Zitat:
Original geschrieben von PierreK@


danke habs verstanden.

und muss ich jetzt die 2 zeilen die ich binär umgewandelt hab zusammen rechnen und dann wieder auf dezimal umwandeln ?
So ist es, wie die Routine gezeigt hat, nur eben mit multiplikation.
Natürlich kannst Du ja auch Binär direkt in Hex umwandeln...
____________________________________
Meine guten PCs:
ZX Spectrum: 48+,128+,+2,+2a,+3,SAM Coupé. Commodore: C64 I/II, VC20, A500 mit GVP A530 40Mhz,A2000 GVP 030/33 18MB RAM, A600HD,A1200. Atari: 130XE, 800XL, Mega STE 4MB, Mega ST4. MSX: Philips, Sony.
LDIR ist offline   Mit Zitat antworten
Alt 10.11.2002, 18:05   #10
Who-T
Elite
 
Registriert seit: 01.08.2000
Beiträge: 1.395


Who-T eine Nachricht über ICQ schicken
Standard

also zumindest in c geht es, dass du ints direkt xor'st

sprich 4 ^ 2 wär zum beispiel 6
100
010
110

da ersparst du dir das manuelle bit-setzen und einzelne vergleichen.

wie das in der von dir benötigten sprache geht, weiß ich nicht
____________________________________
Whoever built humanity left in a major design flaw: it was the tendency to bend at the knees.
Who-T ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:22 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag