1. Foren
  2. Kommentare
  3. Security
  4. Alle Kommentare zum Artikel
  5. › Bewegungsprofil: South Park…
  6. Thema

Lustig weil Southpark ausschließlich auf Mac Os X Rechnern Produziert wird.

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Re: Lustig weil Southpark ausschließlich auf Mac Os X Rechnern Produziert wird.

    Autor: c80 30.04.11 - 07:08

    In C entspricht der Wert 0 dem Wahrheitswert FALSE. Alles was nicht FALSE ist entspricht TRUE. Da diese Definition nicht eindeutig ist (mehrere Werte entsprechen dem Wert TRUE) ist die Schlussfolgerung logisch falsch. Was er da schreibt ist aber kein C. In C werden Vergleiche auf Gleichheit mit == gemacht.

    Ich denke er meint:

    z.z.:
    1 == 2

    weil:
    0 == FALSE
    0 != TRUE
    1 != 0
    0 != 2
    2 == TRUE
    q.e.d.

    Jede einzelne der Ausdrücke unter "weil:" ist wahr, allerdings lässt sich daraus nicht logisch schließen dass 1 == 2, die einzig logische Schlussfolgerung die man aus dieser "Beweiskette" schließen kann ist, dass derjenige, der sie aufgestellt hat nicht allzuviel von boolscher Algebra versteht.

  2. Re: Lustig weil Southpark ausschließlich auf Mac Os X Rechnern Produziert wird.

    Autor: gorsch 30.04.11 - 07:20

    >Das ist das doch Schöne an C, überflüssigen Schnickschnack wie in PASCAL gibt es nicht.
    *facepalm*
    >Es gibt Operatoren wie ==, die als Ergebnis die Werte 0 oder 1 liefern.
    Wenn du behauptest, Wahrheitswerte wären auch nur Zahlenwerte, welchen Zahlenwert hat dann !0 und was ergibt (!0) + (!0)?
    >Dann gibt es Befehle wie if() die einen Ausdruck auswerten und bei ungleich 0 die nachfolgenden Befehle ausführen. Das Ganze kannst du dann als Wahrheitswerte interpretieren, musst du aber nicht.
    Dass eine Zahl einen Wahrheitswert repräsentiert, bedeutet nicht, dass es kein Wahrheitswert ist. Das ist ein Implementationsdetail.
    >Ja, PASCAL war eben eine typisch akademische Sprache, C dagegen die Sprache für die Praxis.
    *facepalm*
    >wobei als Annahme gilt, dass du mit = eigentlich == meinst, da eine Zuweisung zu Literalen nicht möglich ist...
    Ja, da sieht man, was für einen Schaden diese Syntax in deiner Wahrnehmung angerichtet hat ;)
    >Dein Codebeispiel ist alles außer C, denn C kennst nicht mal bool, das gibts erst ab C++...
    Mein "Codebeispiel" ist allgemein verständliche mathematische Notation.
    >schau dir die dreizehn posts darüber an, und vielleicht geht dir ein licht auf, warum es eben KEIN epic fail ist, sondern seine Wirkung immer wieder wie gewünscht erzielt.
    Ich habe dargelegt was tatsächlich passiert (eine in der C Syntax implizite formallogische Abbildung). Du musst dich schon zwischen C-Syntax und mathematischer Notation entscheiden. Und in C wird sicher 1==2 nicht wahr sein, (1 == !0 == 2) hingegen schon.

    >Abgesehen davon gilt die Aussage meiner Sig nicht nur für C, sondern wäre bei Mathematik im F2 Körper sogar vollständig korrekt.
    Die Schlussfolgerung aber nicht, oder hat !0 eine Bedeutung im Festkörper F2?

  3. Re: Lustig weil Southpark ausschließlich auf Mac Os X Rechnern Produziert wird.

    Autor: irata 30.04.11 - 11:53

    gorsch schrieb:
    --------------------------------------------------------------------------------
    > "1 = !0 = 2 = true"
    > Kann mir den Mist mal jemand erklären?

    Glaube nicht, dass damit eine SPRACHE gemeint ist (außer eine theoretische),
    sondern eher ein mathematischer Witz - wobei Mathematiker (ohne Humor) sowas gar nicht gerne sehen ;-)

    Ist schon unglaublich, wie "betriebsblind" man sein kann?

  4. Re: Lustig weil Southpark ausschließlich auf Mac Os X Rechnern Produziert wird.

    Autor: George99 30.04.11 - 11:55

    gorsch schrieb:
    --------------------------------------------------------------------------------

    > Wenn du behauptest, Wahrheitswerte wären auch nur Zahlenwerte, welchen
    > Zahlenwert hat dann !0 und was ergibt (!0) + (!0)?

    Da !0 den Wert 1 ergibt, kommt also insgesamt 2 heraus. Ein kurzer Test mit
    printf("%d\n",(!0)+(!0)) bestätigt das.

    > Dass eine Zahl einen Wahrheitswert repräsentiert, bedeutet nicht, dass es
    > kein Wahrheitswert ist. Das ist ein Implementationsdetail.

    Für C sind es erstmal nur Zahlenwerte. Natürlich mit der Absicht dahinter, dass du sie einfach als Wahrheitswerte betrachst. Aber für C sind es erstmal nur einfache int-Werte.

    > >Ja, PASCAL war eben eine typisch akademische Sprache, C dagegen die
    > Sprache für die Praxis.
    > *facepalm*
    Hast du schonmal mit C und PASCAL programmiert? PASCAL ist einfach zu praxisfern, zu wenig für die Praxis entwickelt worden.

    > mathematischer Notation entscheiden. Und in C wird sicher 1==2 nicht wahr
    > sein,

    Genauer gesagt, ist es ein Term, der 0 ergibt.

    (1 == !0 == 2) hingegen schon.
    Dein Term ist wie folgt zu lesen !0 ergibt 1, 1==1 ergibt 1 und schlussendlich ergibt 1==2 wieder 0. Als Wahrheitswert interpretiert als "flasch".



    1 mal bearbeitet, zuletzt am 30.04.11 12:01 durch George99.

  5. Re: Lustig weil Southpark ausschließlich auf Mac Os X Rechnern Produziert wird.

    Autor: gorsch 30.04.11 - 14:19

    >Da !0 den Wert 1 ergibt, kommt also insgesamt 2 heraus. Ein kurzer Test mit
    printf("%d\n",(!0)+(!0)) bestätigt das.
    Sowas habe ich befürchtet (habe keinen C compiler zur Hand). Es gilt aber trotzdem die Abbildung, in C eben implizit:
    num(!bool(0)) = num(!false) = num(true) = 1
    Wie das ganze dann mit Befehlen wie CMP und JE/JNE implementiert wird ist eigentlich nicht so wichtig.
    >Für C sind es erstmal nur Zahlenwerte. Natürlich mit der Absicht dahinter, dass du sie einfach als Wahrheitswerte betrachst. Aber für C sind es erstmal nur einfache int-Werte.
    Ich sage nur was formallogisch betrachtet passiert (bzw. passieren muss), dass man für die Abbildung von Warheitswerten nun Integer hernimmt und dies so ohne weiteres in der Sprache durchscheinen lässt, ist nicht unbedingt sinnvoll.
    >Hast du schonmal mit C und PASCAL programmiert? PASCAL ist einfach zu praxisfern, zu wenig für die Praxis entwickelt worden.
    Es stimmt zwar, dass Pascal mit dem Gedanken des Unterrichtens gestaltet wurde, und dass die Sprache nicht problemfrei ist (und weniger "mächtig" als C), aber von praxisfern kann keine Rede sein. Modernes C und Pascal zu vergleichen wäre im Übrigen unsinnig, da C seinen Namen beibehalten hat, Pascal sich hingegen zu Sprachen mit anderen Namen weiterentwickelt hat.

  6. Re: Lustig weil Southpark ausschließlich auf Mac Os X Rechnern Produziert wird.

    Autor: George99 30.04.11 - 14:45

    gorsch schrieb:
    --------------------------------------------------------------------------------

    > Wie das ganze dann mit Befehlen wie CMP und JE/JNE implementiert wird ist
    > eigentlich nicht so wichtig.

    Es gibt bei den x86ern sogar einen extra Befehl setxx reg, der das Register reg auf 1 oder 0 setzt, je nachdem ob die Bedingung xx erfüllt ist oder nicht.

    Die Philosophie bei C ist eben, dass wirklich alles numerische Ausdrücke sind, selbst der Zuweisungoperator = weist nicht nur zu, sondern hat den zugewiesenen Wert als Ergebnis.

    > so ohne weiteres in der Sprache durchscheinen lässt, ist nicht unbedingt
    > sinnvoll.

    Da kann schon sehr sinnvoll sein, angenommen du brauchst innerhalb einer Berechnung den Wert 10, wenn a<b ist, ansonsten den Wert 0. Dann schreibst du einfach in der Berechnung 10*(a<b), in anderen Sprachen müsstest du erst umständlich mit if-then hantieren. Allerdings muss ich zugeben, dass es diese Wahrheitswerte auch schon in den verschiedenen BASIC-Dialekten gab, dort allerdings mit 0 und -1. Wolltest du eine Variable immer wieder von 0 bis 9 laufen lassen, konntest du damals schon x=x+1+10*(x>9) schreiben.

  7. Re: Lustig weil Southpark ausschließlich auf Mac Os X Rechnern Produziert wird.

    Autor: gorsch 30.04.11 - 15:13

    >Die Philosophie bei C ist eben, dass wirklich alles numerische Ausdrücke sind, selbst der Zuweisungoperator = weist nicht nur zu, sondern hat den zugewiesenen Wert als Ergebnis.
    Was eine fantastische Fehlerquelle ist.
    >Dann schreibst du einfach in der Berechnung 10*(a<b)
    Solche Hacks sind generell eher schlechter Stil, die Fehlerquellen die durch solche Möglichkeiten in der Sprache entstehen sind weitaus schlimmer als die wenigen Situationen in denen man sich so ein wenig Schreibarbeit erspart und nicht jede Programmiersprache würde in dieser Situation einen if-else block erfordern.

  8. Re: Lustig weil Southpark ausschließlich auf Mac Os X Rechnern Produziert wird.

    Autor: RoterFux 30.04.11 - 15:57

    antares schrieb:
    --------------------------------------------------------------------------------
    > So what - Die Anti-Scientology Folge wurde auch gedreht, obwohl Chefkoch,
    > dessen Sprecher Scientologe ist, deswegen sogar aus der Serie ausgestiegen
    > ist(Daher ist die Letzte Folge, in der Chefkoch als mitglied eines
    > Kinderficker-clubs wieder auftaucht, auch aus alten stellen
    > zusammengeschnitten)


    1 = !0 = 2 = true
    falsch

  9. Re: Lustig weil Southpark ausschließlich auf Mac Os X Rechnern Produziert wird.

    Autor: White Rabbit 30.04.11 - 15:59

    Noch nie Apples AGBs gelesen ? Das steht doch an erster Stelle.

  10. Re: Lustig weil Southpark ausschließlich auf Mac Os X Rechnern Produziert wird.

    Autor: George99 30.04.11 - 19:29

    gorsch schrieb:
    --------------------------------------------------------------------------------
    > Was eine fantastische Fehlerquelle ist.

    Sehe ich nicht so. Je einfacher du ein gewünschtes Ziel in einer Sprache erreichen kannst, desto weniger Fehler machst du auch.

    > Solche Hacks sind generell eher schlechter Stil, die Fehlerquellen die

    Das ist aber nichts besonderes, als nichts um 20 Ecken herumgedachtes. Bei Sachen wie "-!!a" (liefert 0, wenn a gleich null, ansonsten -1) würde ich dir evtl. zustimmen ;)

    > durch solche Möglichkeiten in der Sprache entstehen sind weitaus schlimmer
    > als die wenigen Situationen in denen man sich so ein wenig Schreibarbeit
    > erspart und nicht jede Programmiersprache würde in dieser Situation einen
    > if-else block erfordern.

    Du kannst natürlich auch den ?: Operator nehmen, der ist leichter nachvollziehbar und vermeidet trotzdem das if-then. Also "a<b ? 10 : 0"

  11. Re: Lustig weil Southpark ausschließlich auf Mac Os X Rechnern Produziert wird.

    Autor: Inu 02.05.11 - 08:42

    irata schrieb:
    --------------------------------------------------------------------------------
    > Ist schon unglaublich, wie "betriebsblind" man sein kann?

    Nunja. Als Datenbankspezialist sticht mir diese "Beweisführung" natürlich auch ins Auge, weil sie einem Schlechten Datenbank-Benutzer häufig passiert (Data Chasm). Sowas rollt einem natürlich zu Zehennägel hoch!

    Faktisch macht er nix anderes als beweisen zu wollen, dass Heike == Gabi ist, weil beide das Attribut "Frau" haben - indem er alle weiteren Attribute der beiden Vergleichswerte weglässt.

    Ok, es _sind_ Zahlen. Zahlen haben ausser ihrem Wert nur noch wenige weitere Attribute (Gerade/Ungrade/Primzahl etc. wären weitere) - wenigstens weniger als Frauen, soviel steht fest. Aber es macht die "Beweisführung" nicht besser.

  12. Ja

    Autor: impulsblocker 02.05.11 - 09:01

    Er meint vermutlich ganz einfach den boolschen Werte der beiden Zahlen 1 und 2. Genauso gut kann er auch jede anderen 2 Zahlen größer 0 miteinander vergleichen und das Ergebnis ist immer dasselbe. Allerdings hat sich ein dummer Fehler in seine Signatur eingeschlichen. Er müsste bei jedem Vergleich mindestens ein "==" verwenden. Je nachdem, welche Programmiersprache er meint.

    Verständlich ausgedrückt versucht er nur zu beweisen, dass folgendes so ist wie es ist:

    (1 == true) && (2 == true)

    Dieser uralte Witz kommt aus der Ecke der faulen Programmierer, die sich gerne undeutlich ausdrücken, um sich unverzichtbar zu machen ...

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. HRI IT-Services GmbH, Berlin
  2. S-Kreditpartner GmbH, keine Angabe
  3. Amprion GmbH, Dortmund
  4. Bundeskriminalamt, Wiesbaden, Berlin, Meckenheim

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. täglich neue Deals bei Alternate.de


Haben wir etwas übersehen?

E-Mail an news@golem.de