ip位址與整數相互轉換

2021-10-25 08:50:35 字數 857 閱讀 6397

1、通過string的split方法按.分隔得到4個長度的陣列

2、通過左移位操作(<<)給每一段的數字加權,第一段的權為2的24次方,第二段的權為2的16次方,第三段的權為2的8次方,最後一段的權為1

將十進位制整數形式轉換成127.0.0.1形式的ip位址

1、將整數值進行右移位操作(>>>),右移24位,右移時高位補0,得到的數字即為第一段ip。

2、通過與操作符(&)將整數值的高8位設為0,再右移16位,得到的數字即為第二段ip。

3、通過與操作符吧整數值的高16位設為0,再右移8位,得到的數字即為第三段ip。

4、通過與操作符吧整數值的高24位設為0,得到的數字即為第四段ip。

public

class

iputil

/** * 將十進位制整數形式轉換成127.0.0.1形式的ip位址

* 1、將整數值進行右移位操作(>>>),右移24位,右移時高位補0,得到的數字即為第一段ip。

* 2、通過與操作符(&)將整數值的高8位設為0,再右移16位,得到的數字即為第二段ip。

* 3、通過與操作符吧整數值的高16位設為0,再右移8位,得到的數字即為第三段ip。

* 4、通過與操作符吧整數值的高24位設為0,得到的數字即為第四段ip。

* @param longip

* @return

*/public

static string longtoip

(long longip)

public

static

void

main

(string[

] args)

}

ip位址與整數相互轉換

1 ip位址轉成整數 原理 ip位址的每段可以看成是乙個0 255的整數,把每段拆分成乙個二進位制形式組合起來,然後把這個二進位制數轉變成整數。舉例 乙個ip位址為10.0.3.193 每段數字 相對應的二進位制數 10 00001010 0 00000000 3 00000011 193 1100...

IP位址與無符號整數值相互轉換

方法1 然後通過unsigned int nresult a 3 24 a 2 16 a 1 8 a 0 得到乙個無符號32位整數。得到4段8位的二進位制數,把這些二進位制數轉換成整數 include include using namespace std unsigned int iptovalu...

ip位址與整數互轉

舉例 乙個ip位址為10.0.3.193 每段數字 相對應的二進位制數 10 00001010 0 00000000 3 00000011 193 11000001 組合起來即為 00001010 00000000 00000011 11000001,轉換為10進製數就是 167773121,即該i...