[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: integer groesser 2^31 in C



Achim Fritz wrote:
[...]
de.comp.lang.c
de.comp.lang.iso-c++
sind die Gruppen deiner Wahl...

fritzam@vwin:~/ugspeicher/test-proc> cat testint.c
#include  <stdlib.h>

int main(void){
   long long int a=2200000000;
   int b=2200000000;
   printf("a=%d\n",a/1000);
   printf("b=%d\n",b);
   exit(0);
}
fritzam@vwin:~/ugspeicher/test-proc> gcc testint.c
testint.c: In function `main':
testint.c:4: warning: decimal constant is so large that it is unsigned
testint.c:5: warning: decimal constant is so large that it is unsigned
fritzam@vwin:~/ugspeicher/test-proc> ./a.out
a=2200000
b=-2094967296
Funktioniert bei mir


[...]


Der Kernel hat auch keine Probleme mit grossen Zahlen:
fritzam@vwin:~/ugspeicher/test-proc> echo "2^31"|bc
2147483648
fritzam@vwin:~/ugspeicher/test-proc> echo "2^32"|bc
4294967296
fritzam@vwin:~/ugspeicher/test-proc> echo "2^100"|bc
1267650600228229401496703205376
Was hat das mit dem Kernel zu tun?

Stefan



Reply to: