国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

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

2020-01-24 03:06:55
字體:
供稿:網(wǎng)友

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();
        }

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 四平市| 玉龙| 武清区| 龙口市| 关岭| 东莞市| 清远市| 东光县| 利津县| 望谟县| 永德县| 凉山| 夏邑县| 湘阴县| 青神县| 靖西县| 奉新县| 成安县| 崇左市| 朝阳区| 利津县| 从江县| 乌拉特中旗| 娱乐| 华坪县| 牙克石市| 甘孜县| 浮梁县| 监利县| 彰化县| 凌源市| 翁牛特旗| 九江县| 台南市| 社旗县| 梅河口市| 华坪县| 石门县| 九龙坡区| 台江县| 太仆寺旗|