ip アドレス と サブネットマスク2つの引数を持っている関数を作っています。
それぞれの引数を指定すると、ネットワークアドレスをreturnすることです。
計算方法を調べたところ、
IP アドレスとサブネットマスクの各数値の論理積をとるようです。
実際にコードで書くならどういうふうになるかわかりません。とりあえず、それぞれを2進数に交換しいます。
以下は途中ですが、2進数の値が正しくないですが、原因も分からずです。
基準ライブラリを使えば簡単ですが、実査に作りたいので、どうぞよろしくお願いいたします。
public static void getNetworkAddress (String _ipAddress, String _subnetMask) throws UnknownHostException { // ipaddressを2進数に交換する byte[] bytes = InetAddress.getByName(_ipAddress).getAddress(); String ip_binary = new BigInteger(1, bytes).toString(2); System.out.println(ip_binary); // subnetMaskを2進数に交換する byte[] bytes2 = InetAddress.getByName(_subnetMask).getAddress(); String subnetMask_binary = new BigInteger(1, bytes).toString(2); System.out.println(subnetMask_binary); }
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/08 14:44