如何將一個IP地址的十進制表示轉換爲java中的32位整數值? 我使用InetAddress類和方法的getLocalHost獲得IP地址:Java:如何將dec轉換爲32bit int?
public class getIp {
public static void main(String[] args) {
InetAddress ipaddress;
try {
ipaddress=InetAddress.getLocalHost();
System.out.println(ipaddress);
}
catch(UnknownHostException ex)
{
System.out.println(ex.toString());
}
}
}
比我要的結果轉換爲32位整數值,而不是字符串,我該怎麼辦呢? 謝謝!
@Marcelo Cantos,double可以容納IPv6 [並且在你問你將如何使用它之前:Double.doubleToRawLongBits(d)]。但是讓IP地址增加一倍看起來很怪,不是嗎? – bestsss 2011-02-13 13:01:22
@bestsss:不,雙(長)只有64位,IPv6地址每個都有128位。 – 2011-02-13 14:06:56
@PaŭloEbermann,當然是。你需要超過一倍,這應該是一個笑話;好吧,我猜工作不好。 – bestsss 2011-02-13 14:14:44