grazie mille adesso è veramente più chiaro... sei stato molto esauriente
ho creato la funzione inversa
codice:
function long2ip(ip_start) {
var ip=0;
if (ip_start < 0){
ip = ip_start + 4294967296;
}
with (Math) {
var ip1 = floor(ip/pow(256,3));
var ip2 = floor((ip%pow(256,3))/pow(256,2));
var ip3 = floor(((ip%pow(256,3))%pow(256,2))/pow(256,1));
var ip4 = floor((((ip%pow(256,3))%pow(256,2))%pow(256,1))/pow(256,0));
}
return ip1 + '.' + ip2 + '.' + ip3 + '.' + ip4;
}
dato che nel caso di long parliamo di un numero binario di 32 bit, posso considerare che il segno sarà sempre e solo il primo bit da sinistra e il valore da sommare 4294967296....cmq una cosa che non mi è chiara c'è, 2 elevata 32 fa 4294967296 che convertendo in binario non sono 32 bit ma 33, cioè il primo bit è uno e invece di avere 31 0 ne ho 32