Frage zu char Typen



  • SeppJ schrieb:

    Schreib ein signed oder unsigned davor und alle sind sich einig. Ist dann ganu wie bei integer erwartet.

    Naja ... mein Punkt war halt der, dass kein signed oder unsigned davor stand. Und dass sfgd vorschlug, man solle mit char genauso rechnen, wie mit anderen int-Typen. Die Ausgabe meines Beispiels wäre aber undefinert.

    BTW: Ist char laut Standard wirklich ein int-Typ? Oder bloß als int-Typ verwendbar bzw. in einen konvertierbar?

    Stefan.



  • Was ist Deine Definition von "int-Typ"?

    Wenn man mit char oder short rechnen will, wird zumindest eine "Promotion" durchgeführt. Das heißt, chars und shorts werden vorher zu int konvertiert, bevor "gerechnet" wird.

    Eine Seite, die auch gerne verlinkt wird, ist diese hier: Integer Types in C and C++.

    Gruß,
    SP


  • Mod

    DStefan schrieb:

    BTW: Ist char laut Standard wirklich ein int-Typ? Oder bloß als int-Typ verwendbar bzw. in einen konvertierbar?

    char ist laut Standard ein int Typ.


  • Administrator

    DStefan schrieb:

    Die Ausgabe meines Beispiels wäre aber undefinert.

    Nicht undefiniert, sondern implementierungsabhängig. Wichtiger unterschied!

    DStefan schrieb:

    BTW: Ist char laut Standard wirklich ein int-Typ? Oder bloß als int-Typ verwendbar bzw. in einen konvertierbar?

    Laut Standard werden bool , wchar_t , char und alle signed und unsigned Integer Typen integral types genannt. Ein Synonym für integral type ist integer type.
    float , double , long double und alle integer types nennt man auch arithmetic types (wichtig für Operationen).

    Grüssli



  • volkard schrieb:

    hustbaer schrieb:

    volkard schrieb:

    Ab 64 ist long=64 und int=32

    MSVC ist hier glaube ich anderer Meinung.

    Mist. Ich verwende MSVC nicht. Wie ist da bei 64-Bit-Builds int und long?

    ist bei 32 und 64 bit builds gleich: int = 32 bit, long = 32 bit, long long = 64 bit


Anmelden zum Antworten