バックグラウンド
このUnix.SEの質問(そしてもちろん私自身の回答)に触発されました。
インターフェイスにIPアドレスが指定されると、多くの場合、次のドット付き10進形式で指定されます。
a.b.c.d e.f.g.h
どこa.b.c.dが実際のアドレスでe.f.g.hあり、ネットマスクです。
ネットマスクは、バイナリで表される場合、基本的に1ビットの束とそれに続く0ビットの束です。ネットマスクが指定されたIPアドレスに対してビット単位でAND演算されると、結果はアドレスのネットワーク部分、または単にネットワークアドレスになります。これはホストのルートテーブルにプログラムされるため、ホストはこのネットワーク宛てのデータをこのインターフェイスから送信することができます。
ネットワークのブロードキャストアドレスは、ネットワークアドレス(上記から)を取得し、すべてのホストビットを1に設定することによって導出されます。ブロードキャストアドレスは、特定のネットワーク内のすべてのアドレスに送信するために使用されます。
チャレンジ
入力としてドット付き10進数のIPアドレスと有効なネットマスクを指定し、出力としてネットワークアドレスとブロードキャストアドレスをドット付き10進数形式で提供します。
- 入力は、ドット付き10進形式の2つの文字列としてのアドレスとマスクでなければなりません。これを、2つの文字列要素のリストまたは配列、または適切な区切り文字で区切られたアドレスとマスクを持つ単一の文字列として、2つの個別の文字列として渡すことができます。
- 出力形式には、入力形式と同じ制約が適用されます。
例
Input Output
192.168.0.1 255.255.255.0 192.168.0.0 192.168.0.255
192.168.0.0 255.255.255.0 192.168.0.0 192.168.0.255
192.168.0.255 255.255.255.0 192.168.0.0 192.168.0.255
100.200.100.200 255.255.255.255 100.200.100.200 100.200.100.200
1.2.3.4 0.0.0.0 0.0.0.0 255.255.255.255
10.25.30.40 255.252.0.0 10.24.0.0 10.27.255.255
252れています。
10.24.0.0 10.27.255.255か?