.| Autor | Beitrag |
|---|---|
|
000 20.02.2003, 15:26 Retro |
Moin, gibt es in C eigentlich kein XOR welches ein boolsches Ergenis zurückgibt? So wie "==", "&&" und "||" eben. Zur Zeit mache ichs auf den langen Weg:
shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ Dieser Beitrag wurde am 20.02.2003 um 15:26 von Retro bearbeitet. |
|
Profil || Suche |
|
001 20.02.2003, 15:45 Tron |
nein, aber falls du strikt mit false == 0 und true == 1 arbeitest kannst du ^ oder != verwenden. im falle, dass du mit der definition false == 0 und alles andere ist true arbeitest, dann funktioniert gemaes deinem beispiel folgendes: <edit> 'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett Dieser Beitrag wurde am 20.02.2003 um 15:46 von Tron bearbeitet. |
|
Profil || Suche |
|
002 20.02.2003, 16:39 Kriz |
In der Boole'schen Algebra gibt es kein XOR. XOR ist ein Produkt der Binärarithmetik. Man sollte nicht allzuleicht Boole'sche Algebra und Binärarithmetik durcheinanderwürfeln, auch wenn die Operationen ähnlich sind. Das hat ja schließlich seinen Grund, wieso es | und || sowie & und && gibt in C/C++/Java usw. Und da kann Java mal wieder als Beispiel herhalten: // C/C++ if(1+2) do(); Gültig, da Ergebnis 3 -> 3 != 0 -> true // Java if(1+2) do(); Ungültig, da Ergebnis 3 -> 3 ist Integerdatentyp -> inkompatibel zu 'boolean' In Java wird echt strikt zwischen Boole'schen Werten und Binärwerten unterschieden (auch wenn alles im Endeffekt auf Binärwerten basiert). --K:R-I)Z++ |
|
Profil || Suche |
|
003 20.02.2003, 17:16 Tron |
natuerlich gibt es ein boolsches xor (manche nennen es antivalenz) zudem ist dein c/c++ hass hier voellig fehl am platze und ausserdem ist das if in c++ nicht so wie du es darstellst, denn in c++ akzeptiert es auch nur den datentyp bool, aber es existiert eine impliziete typumwandlung zwischen int/short/char/... und bool --'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett Dieser Beitrag wurde am 20.02.2003 um 17:17 von Tron bearbeitet. |
|
Profil || Suche |
|
004 20.02.2003, 17:37 Retro |
Danke erstmal, in meinem Fall ist alles true was ungleich Null ist. Zu C/C++ vs. Java: Ich finde es eigentlich besser dass eine Zahl ungleich Null (also auch etwas nicht-booleanes) als wahr gewertet wird, wie Tron nochmal gesagt hat, im Prinzip ist es ja nur eine Typenumwandlung. Kriz hat in dem Fall natürlich auch recht, Boolean ist ja nicht gleich Binär, obwohl es relativ nah beieinander liegt. --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |
|
005 20.02.2003, 18:01 Tron |
kriz hat nur rumgememmt, dass ich den bitweisen operator ^ fuer boolsche operationen misbrauche. und wenn ich ganz fies waere wuerde ich sagen: forensuche! das hatten wir schonmal mit dem xor und da ham kriz und ich uns auch gezankt 'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
006 20.02.2003, 18:13 Retro |
joa, so evil schaut das doch nicht aus... bei gelegenheit kann ich ja nochmal gucken wies in asm ausschaut.. herr-verkehrtherum-smilie-schreiber... :) bzw (: --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ Dieser Beitrag wurde am 20.02.2003 um 18:14 von Retro bearbeitet. |
|
Profil || Suche |
|
007 20.02.2003, 18:32 anothergb02 |
Um mal von den Toten aufzuerstehen und hier mal wieder vom Theam abzuschweifen .. ?? == ^ )) ?? --Being in john Malkovich |
|
Profil || Suche |
|
008 20.02.2003, 18:35 Retro |
TI = Technische Informatik, obwohl mein Name bei weiten nicht Tron ist und ?? == ^ )) ?? wohl nicht mehr als infantiles Geblubber.. --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |
|
009 20.02.2003, 19:03 Tron |
jupp, technische informatik, is jetzt schon ne weile her, hab ich am 20ten januar geschrieben. und warum ich da 1.3 habe? weil ich's drauf habe! (; retron (: nach michael ende waere das ein einfaches gelenkwort mit einem gelenk *g* IHR komischen rechtshaender macht das verkehrtrum! (:< -- 'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
010 20.02.2003, 19:20 Retro |
ich gelenk dich auch gleich *g* scheint nicht das einzige zu sein was wir gemeinsam haben. ich bin erstsemester tachi und hab ne 1.3(periode) in ti =) 2 + 1 + 1... also bild dir nicht zuviel drauf ein... hehe --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |
|
011 20.02.2003, 21:03 Kriz |
Nun ja, bevor wieder so eine Diskussion vom Zaun bricht: In der reinen Boole'schen Algebra gibt es kein XOR (exklusives ODER). Die einzigen drei Operatoren sind UND, ODER und NICHT. Das exklusive ODER ist eine Kombination aus den Basisoperatoren und hat nach der boole'schen Algebra folgendes Schema: 0,0 -> 0 XOR wird realisiert aus 2 ANDs, 3 NOTs und 1 OR. Die boole'sche Funktion dazu lautet: Z = NOT((A AND B) OR ((NOT A) AND (NOT B))) Du siehst Tron, XOR ist kein nativer Bestandteil der boole'schen Algebra, sondern nur ein daraus abgeleitetes Konstrukt. Kleiner Beweis das die Funktion oben auch stimmt: A = WAHR Z = NOT((WAHR AND WAHR) OR ((NOT WAHR) AND (NOT WAHR))) Und noch einer, damit's auch jeder glaubt =) A = FALSCH Z = NOT((FALSCH AND WAHR) OR ((NOT FALSCH) AND (NOT WAHR))) Und weil's so lustig ist noch die beiden anderen Fälle: A = WAHR Z = NOT((WAHR AND FALSCH) OR ((NOT WAHR) AND (NOT FALSCH))) A = FALSCH Z = NOT((FALSCH AND FALSCH) OR ((NOT FALSCH) AND (NOT FALSCH))) Cu --K:R-I)Z++ |
|
Profil || Suche |
|
012 20.02.2003, 21:16 Retro |
Soll das heissen nur die Grundoperationen NOT, AND und OR gehören zu der boolschen Algebra und abgeleitete Funtionen gelten als Binärarithmetik? Oder wie ist der Unterschied zwischen boolscher Algebra und Binärarithmetik definiert? (Ja, jetzt will ichs wissen =)) --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |
|
013 20.02.2003, 21:30 WareWolf |
wenn man die boolsche Algebra auf die Hardware reduziert, hat Kriz schon recht, denn dort ist xor lediglich eine Kombination aus den Halbleitergrundfunktionen es ergeben sich für exlusiveOder zwei Schaltungsvarianten: 1. A AND NOT B OR B AND NOT A (wobei zur Vereinfachung AND ein negiertes NAND darstellt) ob es allerdings auch als Binärarithmetik bezeichnet werden kann, ist mir eigentlich egal, schliesslich bin ich kein Beamter *gg* --Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴ Dieser Beitrag wurde am 20.02.2003 um 21:34 von WareWolf bearbeitet. |
|
Profil || Suche |
|
014 20.02.2003, 21:55 Tron |
und? nichtsdestotrotz kann man einen xor-operator in boolscher algebra erklaeren. in der 'reinen' analysis gibt es auch nur die 15 axiome und trotzdem betreibt man auf ihr aufbauend damit integralrechnung... deine aussage war, dass xor 'rein' bitarithmetik sei und das ist ganz einfach nicht korrekt. in 'reiner' (was immer das sein mag) bitarithmetik gibt es auch nur 'und', 'nicht' und 'oder', also bitte komm mit net mit solchen pseudoerklaerungen. sehr komplizierte methode ein xor zu realisieren, siehe post #3 und danke, die huntingtonschen axiome kann ich selbst. boolsche algebra ist _viel_ aelter als transistoren oder auch roehren, der gute herr boole hat bestimmt nicht an hardwarerealisierung gedacht. zudem wuerde man das so _niemals_ realisieren! man muss immer sowohl einen teil haben der die nullen und einen der die einsen liefert, sonst hat man ganz schnell ein paar undefinierte zustaende dank nicht ganz astreiner hardware. bipolartransistoren werden zudem nur _sehr_ selten verwendet, normalerweise werden schaltungen in cmos realisiert, z.b. ein NOT: 'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett Dieser Beitrag wurde am 20.02.2003 um 21:55 von Tron bearbeitet. |
|
Profil || Suche |
|
015 20.02.2003, 22:16 Retro |
Hrrr, jetzt gehts ja los... CMOS sind ja wohl nur noch die guten alten 40er, die ganze 74er Reihe ist Transistor-Transistor-Logik, daher ja auch TTL. Die ganzen umgeformten Terme sind auch nichts weiter als angewande De'Morgansche Gesetze... --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |
|
016 20.02.2003, 23:56 Kriz |
@Tron: Boole hatte nix mit XOR am Hut. Diese Idee stammt aus der Computertechnik, daher mein Hinweis auf die Binärarithmetik. Und wieso kompliziert? Wenn das eine Anspielung an Warewolfs Schema ist, dann muß ich dir doch hoffentlich nicht sagen, daß NAND und NOR auch nur Konstrukte sind... Booles Idee war ja die antike griechische Logikphilosophie in mathematisch beweisbares Material zu transformieren. Und die Logik kennt nur diese drei Uroperationen. @Retro: Nein, daß soll heißen, daß die technische Binärarithmetik sich der boole'schen Algebra bedient hat, um die binären Informationen aus den Hi und Lo Pegelzuständen der Bauteile manipulieren, kontrollieren und letztendlich nutzbar machen zu können. AND, OR und NOT stellen die atomaren Operationen auf das Binärsystem dar. Alles andere wie XOR, NAND, NOR, EQ (XNOR) und all die anderen IC-Schaltungen sind nur daraus abgeleitete Konstrukte zur Realisierung von komplexen Schaltungen. n8 =) --K:R-I)Z++ |
|
Profil || Suche |
|
017 21.02.2003, 12:27 Mazze |
Zur vollständigkeit halber: BattleTech-MOD: Dieser Beitrag wurde am 21.02.2003 um 12:29 von Mazze bearbeitet. |
|
Profil || Suche |
|
018 21.02.2003, 17:06 Kriz |
Jetzt fängst du auch noch damit an o_O XOR ist die Antivalenz, die besagt, daß der Ausgang a (um damit mal auf das Bauelement Antivalenz zurückzukommen) genau dann 1 wird, wenn sowohl e0 und e1 beide 1 oder 0 sind. Hat Er aufgemerkt? ZWEI Eingänge, nicht e > 2 Eingänge! XOR gibt es nur als Doppeleingangs-Bauteil! Und sag jetzt bloß nicht "Quatsch!", denn ich habe es hier schriftlich vor mir liegen! Das was du meinst nennt sich "m-aus-n" Element und besagt, daß genau m von n Eingängen 1 sein müssen, damit a ebenfalls 1 wird. Und nu bin ich es bald leid =) --K:R-I)Z++ |
|
Profil || Suche |
|
019 21.02.2003, 22:53 WareWolf |
?? kleiner Flüchtigkeitsfehler nehm ich an, 0 natürlich. -- Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴ |
|
Profil || Suche |
|
020 22.02.2003, 09:53 Kriz |
Ja, hast recht. Sollte mal ne 0 werden (scheiß Nummernblock und dicke Finger =) --K:R-I)Z++ |
|
Profil || Suche |
|
021 22.02.2003, 10:48 mani |
..dabei ist doch die 0 taste besonders groß *spam* -- |
|
Profil || Suche |
|
022 22.02.2003, 13:36 Mazze |
Quatsch! =p Aber mal im Ernst, ich denke, dass meine Definitionmehr sinn macht, da sich dann das exclusiv erklären würde. Aber da es das Teil anscheinend nur mit 2 Eingängen gibt erübrigt sich ja die Dskussion.... cu BattleTech-MOD: |
|
Profil || Suche |
|
023 23.02.2003, 15:14 Kriz |
Ja, aber du hast die dicken Finger vergessen =) -- K:R-I)Z++ |
|
Profil || Suche |

