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

首頁 > 編程 > C# > 正文

c#中將IP地址轉(zhuǎn)換成無符號整形數(shù)的方法與逆變換方法

2023-05-18 12:33:15
字體:
供稿:網(wǎng)友

我們知道 IP地址就是給每個連接在Internet上的主機(jī)分配的一個32bit地址。

按照TCP/IP協(xié)議規(guī)定,IP地址用二進(jìn)制來表示,每個IP地址長32bit,比特?fù)Q算成字節(jié),就是4個字節(jié)。
而c#中int32的數(shù)就是四個字節(jié)的,但是符號要占掉一位所以就不夠了,但是無符號的 UInt32 就沒有這樣的問題。

所以理論上講:UInt32是可以完整保存一個IP地址的。那下面的兩個方法就是對IP與UInt32之間的互轉(zhuǎn)換。

        public static string Int2IP(UInt32 ipCode) {
            
byte a = (byte)((ipCode & 0xFF000000>> 0x18);
            
byte b = (byte)((ipCode & 0x00FF0000>> 0xF);
            
byte c = (byte)((ipCode & 0x0000FF00>> 0x8);
            
byte d = (byte)(ipCode & 0x000000FF);
            
string ipStr = String.Format("{0}.{1}.{2}.{3}", a, b, c, d);
            
return ipStr;
        }

        
public static UInt32 IP2Int(string ipStr) {
            
string[] ip = ipStr.Split('.');
            
uint ipCode = 0xFFFFFF00 | byte.Parse(ip[3]);
            ipCode 
= ipCode & 0xFFFF00FF | (uint.Parse(ip[2]) << 0x8);
            ipCode 
= ipCode & 0xFF00FFFF | (uint.Parse(ip[1]) << 0xF);
            ipCode 
= ipCode & 0x00FFFFFF | (uint.Parse(ip[0]) << 0x18);
            
return ipCode;
        }
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 娄烦县| 建昌县| 安岳县| 磴口县| 台前县| 溆浦县| 双牌县| 融水| 忻城县| 朝阳市| 汶川县| 蕉岭县| 岫岩| 北票市| 淮南市| 亳州市| 嘉善县| 诸城市| 偃师市| 襄城县| 武强县| 五家渠市| 昔阳县| 波密县| 泰和县| 青铜峡市| 吴旗县| 齐河县| 庆城县| 辽源市| 民权县| 新乡市| 文成县| 怀宁县| 白城市| 墨竹工卡县| 古浪县| 溧水县| 灌阳县| 尉犁县| 长海县|