Wieso wird long variable nicht richtig angezeigt?

Gast #6216280
Lesenswert?

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 #6216653
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren