Фон
Натхненний цим питанням Unix.SE (і звичайно моєю власною відповіддю ).
Коли для інтерфейсу вказана IP-адреса, вона часто надається у цій крапково-десятковій формі:
a.b.c.d e.f.g.h
де a.b.c.d
фактична адреса та e.f.g.h
чимальна маска.
Маска мережі, якщо вона представлена у двійковій формі, - це, як правило, купа 1
біт, а за ними - 0
біт. Коли мережна маска є побітною ANDed проти заданої IP-адреси, результатом буде мережева частина адреси або просто мережева адреса . Це буде запрограмовано у таблиці маршрутів хоста, щоб хост знав надсилати все, що призначено для цієї мережі, із цього інтерфейсу.
Адреса широкомовної мережі для мережі отримується шляхом прийняття адреси мережі (зверху) і встановлення всіх бітів хоста на 1. Адреса широкомовної передачі використовується для надсилання на всі адреси в межах даної мережі.
Виклик
Враховуючи пунктирно-десяткову IP-адресу та дійсну мережну маску як вхід, введіть мережеву адресу та адресу широкомовної інформації як вихідну, також у крапково-десятковому форматі.
- Вхід має бути адресою та маскою як два рядки у крапково-десятковому форматі. Ви можете передавати це як два окремі рядки, як список або масив з 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
?