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 | }
|