?
Solved

IP Number to IP address

Posted on 2006-11-16
1
Medium Priority
?
941 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 10

Accepted Solution

by:
bchoor earned 375 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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I think the Typed DataTable and Typed DataSet are very good options when working with data, but I don't like auto-generated code. First, I create an Abstract Class for my DataTables Common Code.  This class Inherits from DataTable. Also, it can …
The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
Suggested Courses

770 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