天天看點

C# IP位址與整數之間的轉換

1、IP位址轉換為整數

原理:IP位址每段可以看成是8位無符号整數即0-255,把每段拆分成一個二進制形式組合起來,然後把這個二進制數轉變成一個無符号的32位整數。

舉例:一個ip位址為10.0.3.193

每段數字 相對應的二進制數

10 00001010

0 00000000

3 00000011

193 11000001

組合起來即為:00001010 00000000 00000011 11000001,轉換為10進制就是:167773121,即該IP位址轉換後的數字就是它了。

C#代碼:

C# IP位址與整數之間的轉換
C# IP位址與整數之間的轉換

2、整數轉換為IP位址

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

舉例,整數:167773121

二進制表示形式為:00001010 00000000 00000011 11000001

分割成四段:00001010,00001010,00000011,11000001,分别轉換為整數後加上“.”就得到了10.0.3.193。

C# IP位址與整數之間的轉換
C# IP位址與整數之間的轉換

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。