欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# IP地址與整數(shù)之間轉(zhuǎn)換的具體方法

 更新時間:2013年10月19日 15:28:29   作者:  
這篇文章介紹了C# IP地址與整數(shù)之間轉(zhuǎn)換的具體方法,有需要的朋友可以參考一下

IP地址與整數(shù)之間的轉(zhuǎn)換

1、IP地址轉(zhuǎn)換為整數(shù)

原理:IP地址每段可以看成是8位無符號整數(shù)即0-255,把每段拆分成一個二進制形式組合起來,然后把這個二進制數(shù)轉(zhuǎn)變成一個無符號的32位整數(shù)。

舉例:一個ip地址為10.0.3.193

每段數(shù)字 相對應(yīng)的二進制數(shù)
10 00001010
0 00000000
3 00000011
193 11000001
組合起來即為:00001010 00000000 00000011 11000001,轉(zhuǎn)換為10進制就是:167773121,即該IP地址轉(zhuǎn)換后的數(shù)字就是它了。

C#代碼:

復(fù)制代碼 代碼如下:

public static long IpToInt(string ip)
        {
            char[] separator = new char[] { '.' };
            string[] items = ip.Split(separator);
            return long.Parse(items[0]) << 24
                    | long.Parse(items[1]) << 16
                    | long.Parse(items[2]) << 8
                    | long.Parse(items[3]);
        }

2、整數(shù)轉(zhuǎn)換為IP地址

原理:把這個整數(shù)轉(zhuǎn)換成一個32位二進制數(shù)。從左到右,每8位進行一下分割,得到4段8位的二進制數(shù),把這些二進制數(shù)轉(zhuǎn)換成整數(shù)然后加上”.”,就是這個ip地址了。

舉例,整數(shù):167773121

二進制表示形式為:00001010 00000000 00000011 11000001
分割成四段:00001010,00001010,00000011,11000001,分別轉(zhuǎn)換為整數(shù)后加上“.”就得到了10.0.3.193。

C#代碼:

復(fù)制代碼 代碼如下:

public static string IntToIp(long ipInt)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append((ipInt >> 24) & 0xFF).Append(".");
            sb.Append((ipInt >> 16) & 0xFF).Append(".");
            sb.Append((ipInt >> 8) & 0xFF).Append(".");
            sb.Append(ipInt & 0xFF);
            return sb.ToString();
        }

您可能感興趣的文章:

相關(guān)文章

最新評論