배경
이 Unix.SE 질문에서 영감을 얻었습니다 (물론 내 자신의 답변 ).
인터페이스에 IP 주소를 지정하면 다음과 같이 점으로 구분 된 십진 형식으로 표시됩니다.
a.b.c.d e.f.g.h
여기서 a.b.c.d
실제 주소 e.f.g.h
는 넷 마스크입니다.
네트 마스크는 2 진으로 표현 될 때 기본적으로 1
비트 수 와 비트 수를 나타냅니다 0
. 넷 마스크가 주어진 IP 주소에 대해 비트 단위 AND 처리되면 결과는 주소의 네트워크 부분 또는 단순히 네트워크 주소가 됩니다. 이것은 호스트의 라우팅 테이블에 프로그래밍되어 호스트가이 네트워크로 예정된 것을이 인터페이스로 보내도록 알 수 있습니다.
네트워크의 브로드 캐스트 주소는 네트워크 주소 (위에서)를 가져와 모든 호스트 비트를 1로 설정하여 파생됩니다. 브로드 캐스트 주소는 지정된 네트워크 내의 모든 주소 로 전송하는 데 사용됩니다 .
도전
점으로 구분 된 십진 IP 주소와 입력으로 유효한 넷 마스크가 제공되면 점으로 구분 된 십진 형식으로 네트워크 주소와 브로드 캐스트 주소를 출력으로 제공하십시오.
- 입력은 점으로 구분 된 십진 형식의 두 문자열로 주소와 마스크 여야합니다. 이것을 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
?