Last active
November 5, 2024 08:56
-
-
Save jppommet/5708697 to your computer and use it in GitHub Desktop.
javascript conversion from ip address to long integer and vice versa
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function int2ip (ipInt) { | |
return ( (ipInt>>>24) +'.' + (ipInt>>16 & 255) +'.' + (ipInt>>8 & 255) +'.' + (ipInt & 255) ); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function ip2int(ip) { | |
return ip.split('.').reduce(function(ipInt, octet) { return (ipInt<<8) + parseInt(octet, 10)}, 0) >>> 0; | |
} |
@elovin indeed, it is!
My example was to explain the difference between the two methods because someone was confused with the negative value being incorrect, which I demonstrated is not true. :)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@filecage
Would it not be shorter then to to replace
<<8
with* 256
?It seems like the
>>> 0
is then obsolete.