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...