О знаках....
Sep. 8th, 2008 11:23 pmNataraj: как получить максимальное значение signed long'а...
В смысле так чтобы 0 а потом 111111111111111111111 и так на все байты лонга?
Khedin: (-1 >> 1)
Khedin: не
Khedin: ((unsigned) -1 >> 1)
Khedin: а то ещё ненароком со знаком сдвинет
Nataraj: O_o Это как?
А вот оказывается как:
#include <stdio.h>
int main () {
printf ("%d\n", (-1 >> 1));
printf ("%d\n", ((unsigned)-1 >> 1));
};
$ cc test.c && ./a.out
-1
2147483647
PS спасибо
lodin за наше познание мира...
В смысле так чтобы 0 а потом 111111111111111111111 и так на все байты лонга?
Khedin: (-1 >> 1)
Khedin: не
Khedin: ((unsigned) -1 >> 1)
Khedin: а то ещё ненароком со знаком сдвинет
Nataraj: O_o Это как?
А вот оказывается как:
#include <stdio.h>
int main () {
printf ("%d\n", (-1 >> 1));
printf ("%d\n", ((unsigned)-1 >> 1));
};
$ cc test.c && ./a.out
-1
2147483647
PS спасибо