grazie mille adesso è veramente più chiaro... sei stato molto esauriente
ho creato la funzione inversa
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 32codice: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; }

Rispondi quotando