-1
これは明らかなことかもしれませんが、私はそれを紛失しています。 IPアドレスを取得するために0xffとANDを実行する必要があるのはなぜですか?私がそれを見る方法はまったく同じことです。実行すると0xffと同じビットを残す必要があります。なぜ、私はAND演算をしないとうまくいかないのですか?IPアドレスを印刷するにはどうすればよいのですか
package com.inet.ex1;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class ShowIP {
public static void main(String[] args) {
InetAddress host;
try {
host = InetAddress.getLocalHost();
byte[] ip = host.getAddress();
for (int i = 0; i < ip.length; i++) {
if (i == 0) System.out.print(ip[i] & 0xff);
else System.out.print("." + (ip[i] & 0xff));
}
} catch (UnknownHostException e) {
System.out.println(e);
}
}
}
「機能しません」とはどういう意味ですか?結果やエラーはどのようなものですか?また、期待される結果は何ですか? – dunni
申し訳ありませんが動作しますが、負の数が表示されます! – vanmarcke
あなたが説明したところから、実際の問題はJavaで '&0xff'が行うことです。マークされた重複はそれに答えるべきです。私があなたに誤解した場合、またはその質問があなたの質問に答えなかった場合、@yshavitで私に言い聞かせてください。私はそれを再度開くことができますが、その場合、あなたが探している他の情報を明確にしてください。 – yshavit