Solved

IP Number to IP address

Posted on 2006-11-16
1
929 Views
Last Modified: 2008-01-09
I need a function that converts ip numer into IP address.

ipnum = 16777216*w + 65536*x + 256*y + z
where
IP Address = w.x.y.z
0
Comment
Question by:mxpoint
1 Comment
 
LVL 10

Accepted Solution

by:
bchoor earned 125 total points
ID: 17963112
I'm pretty sure there are several other ways this can be done --

you can just shift, multiply and subtract

w = ipnum >> 24
ipnum = ipnum - (w * 2^24)
x = ipnum >> 16
ipnum = ipnum - (x * 2^16)
I posted an example at the bottom of this post
and so forth

or Maybe something like this
    Public Function IpNumberToIpAddress(ByVal IpNumber As Int64) As Integer()
        Dim IpAddress As New ArrayList

        For Each m As Match In Regex.Matches(IpNumber.ToString("x0").ToUpper(), "[\dA-F]{2}")
            IpAddress.Add(CType("&H" & m.Value, Integer))
        Next

        Return IpAddress.ToArray(GetType(System.Int32))
    End Function

Usage:
?IpNumberToIpAddress(3232235521.0)
{Length=4}
    (0): 192
    (1): 168
    (2): 0
    (3): 1


    Public Function IpNumberToIpAddress2(ByVal IpNumber As Int64) As Integer()
        Dim IpAddress As New ArrayList
        Dim v As Integer = 0

        v = IpNumber >> 24
        IpAddress.Add(v)
        IpNumber = IpNumber - (v * 2 ^ 24)

        v = IpNumber >> 16
        IpAddress.Add(v)
        IpNumber = IpNumber - (v * 2 ^ 16)

        v = IpNumber >> 8
        IpAddress.Add(v)
        IpNumber = IpNumber - (v * 2 ^ 8)

        v = IpNumber
        IpAddress.Add(v)

        Return IpAddress.ToArray(GetType(System.Int32))
    End Function
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Well, all of us have seen the multiple EXCEL.EXE's in task manager that won't die even if you call the .close, .dispose methods. Try this method to kill any excels in memory. You can copy the kill function to create a check function and replace the …
1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now