有時會碰到這樣的需求,需要將ip位址轉換為整數存放,在讀取時再轉換為ip位址格式
1、將ip字串轉換為整型儲存
**如下:
string address;
int intaddress;
string ipaddress;
while ((address = console.readline()) != "\\0")
console.readline();
執行結果:
c0-a8-0a-11 是iparr轉換為string型別時的輸出結果,也是192 168 10 17 的16進製制
285911232 是iparr轉換為整數的結果,c0是最低位,也就是說該整數是由 11-0a-a8-c0轉換成10進製的來的,大家可以試試!
2、將ip轉換的整型陣列轉換為ip格式
其實是第一部分的逆過程,先將整型轉換為位元組陣列,再將位元組陣列轉換為ip
**如下:
//將整型轉換為ip
ipaddress = new ipaddress(bitconverter.getbytes(intaddress)).tostring();
執行結果:
最後一行即為原來的ip
3、總結
兩個過程是互逆的過程,ip轉整型:利用ipaddress.getaddressbytes(),獲取ip的位元組陣列格式,然後利用 bitconverter.toint32(),來轉換為int.涉及到的演算法,無非是將位元組陣列轉換為16進製制,然後陣列的第乙個數值為最低位這樣的順 序來轉換為10進製數得到整型資料;整型轉ip則將這個過程反過來。
將IP位址與Int轉換
有時會碰到這樣的需求,需要將ip位址轉換為整數存放,在讀取時再轉換為ip位址格式 1 將ip字串轉換為整型儲存 如下 string address int intaddress string ipaddress while address console.readline 0 console.rea...
ip位址與int型別的轉換
前言 最近看道乙個面試題目,大體意思就是將ip位址,例如 192.168.1.116 轉換成int型別,同時還能在轉換回去 思路 ip位址轉int型別,例如ip為 192.168.1.116 相當於 將ip位址分為了4部分,各部分對應的權值為256 3,256 2,256,1,相成即可 int型別轉...
IP位址轉換 int轉string
實際程式設計中,ip位址多用整型來表示,如int unsigned int等。整型對於機器是友好的,對於編碼人員就不那麼友好了,畢竟我們還是喜歡用點分格式的ip位址,下面就寫了個簡單的小方法,供參考 使用 include stdafx.h include include include using ...