我有一個簡單的程序來查找我的IP地址並將其轉換爲字符串。 爲什麼b[i]
值低於(int)255
?爲什麼ip地址值是和int 255
public class FirstSocketProgramming {
public static void main (String arg[]){
InetAddress local = null;
try {
local = InetAddress.getLocalHost();
} catch (UnknownHostException e){
System.err.println
("Identity Crisis!");
System.exit(0);
}
byte[] b = local.getAddress();
System.out.println (b.toString());
System.out.println (b.length);
String strAddress="";
for (int i = 0; i < b.length; i++)
strAddress += ((int)255&b[i]) + ".";
System.out.println ("Local = " + strAddress);
}
}
很好的答案,但我得批評你的措辭一點。 「全範圍的8位」仍然遵循-128至127的規定,除非由於位作爲符號位而移位。不過,這個想法是正確的。 – hexafraction
請解釋-1? –
不是我,我認爲這也是有效的。 – hexafraction