2012-01-27 34 views
3

我想計算來自2個給定IP地址的IP地址數量。是否有簡單的方法來計算來自2個給定IP地址的IP數量?

例子:127.0.1.10127.0.0.20067 IP地址..

什麼是這樣做的簡單的方法?

+0

我只看到兩個地址。 – Groo 2012-01-27 11:04:59

+2

這很困難,因爲根據子網的大小,255或0可能需要特殊處理。如果你不關心給予這些地址特殊處理,你可以簡單地轉換爲int和減去(如果你想讓兩端都包含在內,就添加一個)。 – CodesInChaos 2012-01-27 11:05:32

+5

將兩者都轉換爲整數,然後減去! (你必須考慮網絡和廣播地址) – Aziz 2012-01-27 11:06:05

回答

5
int IPToInt(string IP) 
{ 
    return IPAddress.NetworkToHostOrder(BitConverter.ToInt32(IPAddress.Parse(IP).GetAddressBytes(), 0)); 
} 

int num = IPToInt("127.0.1.10") - IPToInt("127.0.0.200") + 1; 
3

要計算範圍或子網中的IP地址數量,需要使用子網掩碼。從這裏你可以知道IP的哪部分是網絡和哪些是主機。主機部分會告訴你在子網內有多少主機是可能的。子網掩碼是專門設計的,因此硬件/軟件可以區分IP的網絡部分以及主機部分是什麼。

沒有它,我懷疑你什麼都不知道。

相關問題