co robie zle dostaje dobra zmienna z bazy "3232235778"
echo $row['ipaddr']; 3232235778 $z=$row['ipaddr']; 3232235778 settype($z, "long"); echo $z; 3232235778 echo ($z>>24)&0xff; echo "."; print ($z>>16)&0xff; echo "."; echo ($z>>8)&0xff; echo "."; echo $z&0xff; pokazuje wynik 127.255.255.255
gdy wkleje poniszy kod ? jest ok no tego to ja juz nie rozumiem dlaczego powyzej dostaje zly wynik
$x=3232235778; echo $x;
echo ($x>>24)&0xff; echo ($x>>16)&0xff; echo ($x>>8)&0xff; echo $x&0xff; pokazuje dobry wynik 192.168.1.2
.............................
juz sie wkurwilem i zaczelem pisac w "C"
main(int argc, char *argv[]) { static char s[16]; static char s2[16];
long z=0; long x=3232236057;
if (argc==2) { z=(long) atol(argv[1]);
sprintf(s, "%ld.%ld.%ld.%ld", ((long)z>>24)&0xff, ((long)z>>16)&0xff, ((long)z>>8)&0xff, (long)z&0xff); sprintf(s2, "%ld.%ld.%ld.%ld", ((long)x>>24)&0xff, ((long)x>>16)&0xff, ((long)x>>8)&0xff, (long)x&0xff); printf("%s",s); printf("%s",s2);
}
./a.out 3232236057 127.255.255.255 192.168.2.25 jaki ja robie blad moze ktos mi wytlumaczyc ?????????????