Vorzeichenlos oder nicht?



  • Hallo zusammen,

    mit unsigned deklariere ich eine Variable als Vorzeichenlos
    und mit signed kann sie positiv und negativ sein.

    Was ist denn, wenn ich nur int schreibe ohne einen dieser
    Zusätze. Ist es dann immer mit Vorzeichen oder Compilerabhängig?

    Gruß,
    (un)signed



  • Genau genommen ist es compilerabhängig. Bin mir aber grad nicht ganz sicher, was der Standard vorschreibt, glaube signed ist standard.



  • Alle ganzzahligen Datentypen außer char sind defaultmäßig vorzeichenbehaftet.

    Edit: Außer char, das ist vom Compiler abhängig.

    In C ist es jedenfalls so. 😃
    Da ja C angeblich eine Untermenge von C++ sein soll, dürfte das auch für C++ gelten.



  • CodeFinder schrieb:

    Genau genommen ist es compilerabhängig.

    Ausdrücklich nochmal: Nein. int und signed int sind derselbe Typ (dito für short und long). Nur bei char gibt es drei Typen, char, signed char und unsigned char, und es ist compilerabhängig, ob char vorzeichenbehaftet ist oder nicht.



  • proggingmania schrieb:

    Da ja C angeblich eine Untermenge von C++ sein soll, dürfte das auch für C++ gelten.

    Nein, C++ baut auf C auf, ist aber keine Obermenge (es gibt auch C-Konstrukte, die in C++ nicht exisitieren oder eine andere Bedeutung haben (z.B. int func(); ).

    Aber für diese Frage stimmt's schon - 'int' ist das selbe wie 'signed int'.


Anmelden zum Antworten