小山

付出最大努力,追求最高成就,享受最佳生活,收获无悔人生

博客园 首页 新随笔 联系 订阅 管理
//IP地址点分表示法转换为十进制表示法 
        public long Dot2LongIP(string dotIP)
        
{
            
string[] subIP = dotIP.Split('.'); 
            
//IP Address = w.x.y.z 
            
//IP Number = 16777216 * w + 65536 * x + 256 * y + z  
            long ip = 16777216 * Convert.ToInt64(subIP[0]) + 65536 * Convert.ToInt64(subIP[1]) + 256 * Convert.ToInt64(subIP[2]) + Convert.ToInt64(subIP[3]);
            
return ip; 
        }

        
public string LongIP2Dot(long longIP)
        

            
//IP Address = w.x.y.z 
            
//IP Number = 16777216 * w + 65536 * x + 256 * y + z 
 
            
//w = int ( IP Number / 16777216 ) % 256 
            
//x = int ( IP Number / 65536    ) % 256 
            
//y = int ( IP Number / 256      ) % 256 
            
//z = int ( IP Number            ) % 256 
 
            
string dotIP="";
            
int subIP=0;
 
            
long one=longIP/16777216;
            subIP 
= Convert.ToInt32(one.ToString("f0")) % 256 ;
            dotIP 
= subIP.ToString() + "." ;
            
long two=longIP/65536;
            subIP 
= Convert.ToInt32(two.ToString("f0")) % 256;
            dotIP 
+= subIP.ToString() + "." ;
            
long three=longIP/256;
            subIP 
= Convert.ToInt32(three.ToString("f0")) % 256;
            dotIP 
+= subIP.ToString() + "." ;
            
long four=longIP % 256;
            subIP 
= Convert.ToInt32(four.ToString("f0"));
            dotIP 
+= subIP.ToString(); 
            
return dotIP;
        }
posted on 2006-02-05 14:56  小山  阅读(3903)  评论(5)    收藏  举报