Wieso wird long variable nicht richtig angezeigt?

Gast #6216280
Wa ist genau der Fehler? Die Long Variable hat 4 Byte Größe also 32 Bit. 
Das ist bei unsigned ein Zahlenbereich von 2^32 - 1 also 4294967296.

Trotzdem scheint eine Übershreitung stattzufinden. Wieso?
1
#include <stdio.h>
2
#include <stdlib.h>
3

4
int main()
5
{
6
    unsigned long a = 4294967294;
7

8
    printf("a = %ld\n", a);
9

10
    return 0;
11
}
Angehängte Dateien:
Beitrag #6216571 wurde von einem Moderator gelöscht.
Gast
Systemgewinner schrieb im Beitrag #6216571:
> solchee fragen haben hier wirklich nichts verloren. wir sind hier
> nicht
> auf der hauptschule

Jepp, vor allem, weil die Ausgabe "-2" ist, aber im Programm von 
"unsigned" die Rede ist bei der Deklaration.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.