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