eine frage



  • Cico schrieb:

    /*
    The problem is, that value
    is not the same for all computers. On some computers you would define the
    constant like this:
    #define EOF -1
    On others you would define it like this:
    #define EOF 0
    */

    das ist aber unsinn, auch wenn's im internet steht. warum?
    weil man dann mit fgetc() keine nullen aus einem stream lesen könnte.
    wie soll man in diesem fall eine 0 von EOF unterscheiden?



  • net schrieb:

    Cico schrieb:

    /*
    The problem is, that value
    is not the same for all computers. On some computers you would define the
    constant like this:
    #define EOF -1
    On others you would define it like this:
    #define EOF 0
    */

    das ist aber unsinn, auch wenn's im internet steht. warum?
    weil man dann mit fgetc() keine nullen aus einem stream lesen könnte.
    wie soll man in diesem fall eine 0 von EOF unterscheiden?

    lol idiot



  • Wir reden hier von dem Statusbit bei der Fehlerbehandlung das gesetzt wird bei einem Stream.(Rückgabewert)bool EOF() ist soviel ich weiß immer das letzte Zeichen.Es kann bei -1 True sein oder wenn es auf 0 oder NULL ist...ist abhängig von deiner Streamstatus abfrage...



  • Was ist eigentlich mit euch los? Da poste ich schon ein Zitat aus dem C99 Standard und ihr diskutiert immer noch den Blödsinn weiter. Da steht doch wohl eindeutig, dass EOF zu einem negativen int Wert evaluiert. Und 0 ist wie ihr sicher wissen solltet kein negativer int Wert 😡



  • kingruedi schrieb:

    Und 0 ist wie ihr sicher wissen solltet kein negativer int Wert 😡

    Im 1er Komplement gibts für die 0 eine negative Darstellung 🤡 😉



  • interpreter schrieb:

    kingruedi schrieb:

    Und 0 ist wie ihr sicher wissen solltet kein negativer int Wert 😡

    Im 1er Komplement gibts für die 0 eine negative Darstellung

    (((-0)<0)==0)



  • Daniel E. schrieb:

    interpreter schrieb:

    kingruedi schrieb:

    Und 0 ist wie ihr sicher wissen solltet kein negativer int Wert 😡

    Im 1er Komplement gibts für die 0 eine negative Darstellung

    (((-0)<0)==0)

    true



  • interpreter schrieb:

    kingruedi schrieb:

    Und 0 ist wie ihr sicher wissen solltet kein negativer int Wert 😡

    Im 1er Komplement gibts für die 0 eine negative Darstellung

    wie sieht die aus? 0^1? da werden doch nur alle bits invertiert.
    hat doch mit + oder - nichts zu tun...



  • net schrieb:

    interpreter schrieb:

    Im 1er Komplement gibts für die 0 eine negative Darstellung

    wie sieht die aus? 0^1? da werden doch nur alle bits invertiert.
    hat doch mit + oder - nichts zu tun...

    Doch, doch. Per Definition kommt man zu der negativen Darstellung einer Zahl, indem man alle Bits invertiert. Ist die 0 also sinngebenderweise 000...0 (n mal), dann ist das Komplement 111...1 (auch n mal), was dann eben -0 ist. Das hat natürlich nichts damit zu tun, daß "-0 == 0" auf jeder Implementierung der Sprache C 1 zu ergeben hat. Wenn Du Sauereien mit den einzelnen Bits machst, dann aber nicht.



  • Daniel E. schrieb:

    Per Definition kommt man zu der negativen Darstellung einer Zahl, indem man alle Bits invertiert.

    Anmerkung: Im 1er Komplement.


Anmelden zum Antworten