[C/C++] Datentyp haut nicht hin...

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von .x-tra, 30. September 2010 .

Schlagworte:
  1. 30. September 2010
    Datentyp haut nicht hin...

    Hab heut was mit codeblocks und mingw probiert.
    Und zwar sollte doch als beispiel unsigned int zahlen von 0-65535(glaub ich) aufnehmen können.
    Aber selbst wenn ich 66000 drin speichern will nimmt es das anstandslos an.
    genauso verhält es sich mit short int etc.
    hab in einem buch gelesen daß das compilerabhängig auch anders sein kann.
    gibts da für mingw(gcc) eine referenz dafür oder so?
    weil das ist schon verwirrend.
     
  2. 30. September 2010
    AW: Datentyp haut nicht hin...

    annehmen wird er es bestimmt - nur steht dann halt keine 66000 (bei short) mehr drin - schonmal die variable danach wieder ausgelesen?

    Variables and types - C++ Tutorials
     
  3. 30. September 2010
    AW: Datentyp haut nicht hin...

    Hey

    Deine Annahme bezüglich Compiler stimmt. Was aber falsch ist, ist annzunehmen, das bei unsigned int nur ein 16 Bit Wert speicherbar ist. Ein Integer ist i.d.R. 4 Byte groß und kann daher - ohne Vorzeichen - Zahlen bis zu ~4 Mrd. speichern.

    Genauere Größenangaben zu den Datentypen findest du entweder in limits.h oder per sizeof() heraus.
     
  4. 30. September 2010
    AW: Datentyp haut nicht hin...

    aksi hab per cin die eingabe machen lassen und in zum bsp. int a; speichern lassen.dannach mit cout anzeigen lassen.
    und sie da die angebenenen 66000 wurden ausgegeben.
    ich frage mich nur warum es allg. irgendwo definiert ist.
    und ich das auch nicht anders kannte und nun dies doch variabel ist.
    wie funktioniert das mit sizeof() und die limits.h ist irgendwo beim compiler zu finden, oder?

    bin etwas verwirrt weil hab das in allen büchern bisher so gelesen und nun stimmen die größenangaben der datentypen doch nicht.
     
  5. 30. September 2010
    AW: Datentyp haut nicht hin...

    Liest du denn was ich schreibe?

    Ich schreibs dir mal zur Übersicht

    bool / char................................... 1 Byte
    short........................................................................... 2 Byte
    int / long / float 4 Byte
    double................................................................ 8 Byte

    Die jeweilige Größe (Vorzeichen unbehaftet) kannst du ausrechnen indem du die Basis der Dualzahlen mit der Anzahl der jeweiligen Bits des Typen exponenzierst. Beispiel: 2^8 für bool oder char.
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.