using System; class Program { static void Main() string ip = "500.234.77.90"; Console.WriteLine("IP address is {0}", ip); uint ui = IpToUInt(ip); Console.WriteLine("Equivalent unsigned integer is {0}", ui); ip = IpFromUInt(ui); Console.WriteLine("Converts back to IP address of {0}", ip); Console.ReadLine(); } public static uint IpToUInt (string ip) { string[] temp = ip.Split('.'); uint[] octets = new uint[4]; for (int i = 0; i < 4; i++) { octets[i] = uint.Parse(temp[i]); } return octets[0] + (octets[1] << 8) + (octets[2] << 16) + (octets[3] << 24); } public static string IpFromUInt (uint ui) { uint[] octets = new uint[4]; octets[3] = ui >> 24; uint remainder = ui - (octets[3] << 24); octets[2] = remainder >> 16; remainder -= octets[2] << 16; octets[1] = remainder >> 8; remainder -= octets[1] << 8; octets[0] = remainder; string[] temp = new string[4]; for (int i = 0; i < 4; i++) { temp[i] = octets[i].ToString(); } return String.Join(".", temp); } }