原理:ip位址的每段可以看成是乙個0-255的整數,把每段拆分成乙個二進位制形式組合起來,然後把這個二進位制數轉變成
乙個長整數。
每段數字 相對應的二進位制數
10 00001010
0 00000000
3 00000011
193 11000001
組合起來即為:00001010 00000000 00000011 11000001,轉換為10進製數就是:167773121,即該ip位址轉換後的數字就是它了。
每段可以看成是乙個0-255的整數,需要對ip位址進行校驗
輸入描述:
輸入 1 輸入ip位址
2 輸入10進製型的ip位址
輸出描述:輸出
1 輸出轉換成10進製的ip位址
2 輸出轉換後的ip位址
示例1輸入
10.0.3.193
167969729
輸出
167773121
10.3.3.193
public class ipconvert
}//ip位址轉為十進位制ip位址
//1. 按.分割,得到4個字串 -> 整數
//2.通過integer.tobinarystring(integer.parseint(s[i])) 得到每個整數對應的二進位制序列,如果長度不為8需要自行在前面加0
//3.組合每個數的二進位制序列,然後通過long.parselong(sb.tostring(), 2)得到此二進位制對應的十進位制數
private static void converttoip10(string ip)
t = sx.tostring() + t;}}
long res = long.parselong(sb.tostring(), 2);
system.out.println(res);
}//十進位制ip位址轉為ip位址
//1.通過long.tobinarystring(long.parselong(ip10))得到此十進位制ip位址對應的二進位制序列,不足32時需要自行在高位補0
//2.每隔8個位元位進行劃分,共得到4部分
//3.每部分分別通過integer.parseint(four[i], 2)得到對應十進位制數,然後用.連線得到最終的ip位址
private static void converttoip(string ip10)
bin = sb.tostring() + bin;
}string four = new string[4];
four[0] = bin.substring(0, 8); //取得每個部分
four[1] = bin.substring(8, 16);
four[2] = bin.substring(16, 24);
four[3] = bin.substring(24, 32);
stringbuilder s = new stringbuilder();
for (int i = 0; i < 4; i++)
}system.out.println(s.tostring());
}}
整數與ip位址間的轉換
原理 ip位址的每段可以看成是乙個0 255的整數,把每段拆分成乙個二進位制形式組合起來,然後把這個二進位制數轉變成 乙個長整數。舉例 乙個ip位址為10.0.3.193 每段數字 相對應的二進位制數 10 00001010 0 00000000 3 00000011 193 11000001 組合...
整數與IP位址間的轉換
原理 ip位址的每段可以看成是乙個0 255的整數,把每段拆分成乙個二進位制形式組合起來,然後把這個二進位制數轉變成 乙個長整數。舉例 乙個ip位址為10.0.3.193 每段數字 相對應的二進位制數 10 00001010 0 00000000 3 00000011 193 11000001 組合...
IP位址與整數之間的轉換
1 ip位址轉換為整數原理 ip位址每段可以看成是8位無符號整數即0 255,把每段拆分成乙個二進位制形式組合起來,然後把這個二進位制數轉變成 乙個無符號32為整數。舉例 乙個ip位址為10.0.3.193 每段數字 相對應的二進位制數 10 00001010 0 00000000 3 000000...