Tom: Logic-Abfrage

Hello Leute,

gibts hier noch echte Logic-Fachleute?
Ich stehe gerade furchtbar auf dem Schlauch und brauche Hilfe:

Logische Größe 1:   1 0 0 0 0 1 0 1    (Forderung)
Logische Größe 2:   1 0 0 0 0 1 1 1    (Leistung)
                    ---------------

???

Ich benötige jetzt die Aussage, dass in (2) mindestens die Bits gesetzt sind, die in (1) gesetzt (gefordert) wurden.

Meine boolesche Algebra ist leider total eingerostet und da hilft auch kein WD40 mehr ;-O

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://restaurant-zur-kleinen-kapelle.de
  1. Hi,

    Logische Größe 1:   1 0 0 0 0 1 0 1    (Forderung)
    Logische Größe 2:   1 0 0 0 0 1 1 1    (Leistung)

    Ich benötige jetzt die Aussage, dass in (2) mindestens die Bits gesetzt sind, die in (1) gesetzt (gefordert) wurden.

    Wie wär’s damit?

    F == F & L & (F | L)

    Oder auch F ^ F & L & (F | L) muss gleich 00000000 sein.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hi,

      Oder auch F ^ F & L & (F | L) muss gleich 00000000 sein.

      Da fehlte noch die Klammerung, F ^ (F & L & (F | L)).

      MfG ChrisB

      --
      RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  2. Hallo Tom,

    prüf mal Forderung oder Leistung auf 0.

    Gruß, Jürgen

    1. Hallo,

      prüf mal Forderung oder Leistung auf 0.

      ein "nicht" vergessen :(

      prüf mal nicht Forderung oder Leistung auf 0.

      (~f | l) == 0

      Gruß, Jürgen

      1. Hi,

        prüf mal nicht Forderung oder Leistung auf 0.

        (~f | l) == 0

        Oh, äh … da war ich wohl auch etwas eingerostet.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. Hello,

          zurechtgebastelt funktioniert das:

          (F - (F & L)) > 0

          Dann erfüllt die Leistung mindestens die Forderung.

          Kann man das in PHP einfach so schreiben? Erscheint mir ja etwas unsauber...

          Da aber (F & L) auf jeden Fall numerisch kleiner als F ist, sollte es keine Probleme mit Übertrag o.ä. geben, oder irre ich mich da?

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://restaurant-zur-kleinen-kapelle.de
          1. Hallo,

            zurechtgebastelt funktioniert das:

            (F - (F & L)) > 0

            Dann erfüllt die Leistung mindestens die Forderung.
            Kann man das in PHP einfach so schreiben?

            kann man, aber boolsche und arithmetische Operationen in einem Ausdruck ist "pfui", weil es nicht immer das ergibt, was man erwartet.

            Warum nicht einfach  F & ^L, wobei ^ hier wie in C der Operator für bitweise Negation sein soll.
            Sobald dieser Ausdruck ungleich Null ("truthy") ist, sind noch Forderungen offen, zu denen die Leistung fehlt.

            Da aber (F & L) auf jeden Fall numerisch kleiner als F ist, ...

            Kleiner oder gleich.

            sollte es keine Probleme mit Übertrag o.ä. geben, oder irre ich mich da?

            In diesem konkreten Fall klappt das mit den verschiedenartigen Operationen. Schön ist es trotzdem nicht.

            Ciao,
             Martin

            --
            Elefant zum Kamel: "Sag mal, wieso hast du denn den Busen auf dem Rücken?"
            Kamel:             "Ziemlich freche Frage für einen, der den Penis im Gesicht hat."
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
          2. Hallo Tom,

            (F - (F & L)) > 0

            wo hast du den Ausdruck denn her? Warum nicht

            if(((~f) | l) == 0) ... // OK

            Gruß, Jürgen

  3. Logische Größe 1:   1 0 0 0 0 1 0 1    (Forderung)
    Logische Größe 2:   1 0 0 0 0 1 1 1    (Leistung)
                        ---------------

    ???

    Ich benötige jetzt die Aussage, dass in (2) mindestens die Bits gesetzt sind, die in (1) gesetzt (gefordert) wurden.

    beispielsweise
    (F XOR L) Unterschied vorhanden?
    ((F XOR L) AND F) Unterschied vorhanden wo 1 gefordert?
    ((F XOR L) AND F) = 0 alles wird gut

    1. Hello,

      Logische Größe 1:   1 0 0 0 0 1 0 1    (Forderung)
      Logische Größe 2:   1 0 0 0 0 1 1 1    (Leistung)
                          ---------------

      ???

      Ich benötige jetzt die Aussage, dass in (2) mindestens die Bits gesetzt sind, die in (1) gesetzt (gefordert) wurden.

      beispielsweise
      (F XOR L) Unterschied vorhanden?
      ((F XOR L) AND F) Unterschied vorhanden wo 1 gefordert?
      ((F XOR L) AND F) = 0 alles wird gut

      Danke, Ihr habt mich überzeugt ;-)

      So mache ich das. Die Fehlenden Forderungen sind damit auch leicht ablesbar.

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://restaurant-zur-kleinen-kapelle.de
  4. Tach!

    Ich benötige jetzt die Aussage, dass in (2) mindestens die Bits gesetzt sind, die in (1) gesetzt (gefordert) wurden.

    Denk ich zu einfach oder die anderen Antworten zu kompliziert?

    Wenn Leistung und Forderung gleich Forderung ist, sollte doch alles gut sein.

    10000111 Leistung
    10000101 & Forderung
    --------
    10000101 =

    10000100 Leistung
    10000101 & Forderung
    --------
    10000100 kaputt

    dedlfix.

    1. Hallo dedlfix,

      schaust Du bitte mal da rein.
      Ich erwarte nicht, daß Du für mich den Code durchsuchst um die Frage zu beantworten aber wenn Du es aus dem Stegreif weißt, wäre eine Antwort nett.

      1. Tach!

        schaust Du bitte mal da rein.
        Ich erwarte nicht, daß Du für mich den Code durchsuchst um die Frage zu beantworten aber wenn Du es aus dem Stegreif weißt, wäre eine Antwort nett.

        Ich weiß es nicht, weiß nicht mal, was da wie funktioniert, ich schau da selten rein. Wenn du keine einzelnen Einträge auf Seiten haben möchtest, musst du feststellen, ob du am Anfang (oder vielleicht auch Ende) bist und dnan von da aus die letzten x Einträge nehmen. Ist nur etwas doof, wenn man durchblättert und dann was zu sehen bekommt, was man doch schon hatte.

        dedlfix.

    2. Denk ich zu einfach oder die anderen Antworten zu kompliziert?

      Wenn Leistung und Forderung gleich Forderung ist, sollte doch alles gut sein.

      Meine Vermutung: Wer etwas lögisch löst, tendiert wohl dazu es rein logisch zu lösen. In anderen Lösungen kommt zwar auch ein Vergleich vor aber das Prüfen auf Null (oder auf nicht Null) könnte man auch weglassen*. Deine Lösung verlangt den Vergleich.

      *Wenn ((Logikaudruck) = Null) dann ... kann man auch als Wenn (Logikausdruck) dann nicht ... schreiben.

  5. @@Tom:

    nuqneH

    Logische Größe 1:   1 0 0 0 0 1 0 1    (Forderung)
    Logische Größe 2:   1 0 0 0 0 1 1 1    (Leistung)
                        ---------------
    Ich benötige jetzt die Aussage, dass in (2) mindestens die Bits gesetzt sind, die in (1) gesetzt (gefordert) wurden.

    Wie kommt man drauf?

    Du willst prüfen, ob (bitweise) gilt: wenn F, dann L.

    F ⇒ L ist gleichbedeutend mit ¬F ∨ L. (Für E-Techniker und ITler: (NOT F) OR L.) Das ist das, was JürgenB sagte.

    Die Negation davon ist nach de Morgan ¬(¬F ∨ L) = F ∧ ¬L, wie Der Martin sagte. (Für E-Techniker und ITler: F AND (NOT L).)

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)