Latar Belakang
Terinspirasi oleh pertanyaan Unix.SE ini (dan tentu saja jawaban saya sendiri ).
Ketika alamat IP ditentukan untuk antarmuka, sering diberikan dalam bentuk desimal bertitik:
a.b.c.d e.f.g.h
di mana a.b.c.d
alamat aktual dan e.f.g.h
netmask.
Netmask, ketika direpresentasikan dalam biner, pada dasarnya adalah sekelompok 1
bit diikuti oleh sekelompok 0
bit. Ketika netmask adalah AND AND terhadap alamat IP yang diberikan, hasilnya akan menjadi bagian jaringan dari alamat, atau hanya alamat jaringan . Ini akan diprogram ke dalam tabel rute host sehingga tuan rumah tahu untuk mengirim apa pun yang ditujukan untuk jaringan ini dari antarmuka ini.
Alamat broadcast untuk jaringan diturunkan dengan mengambil alamat jaringan (dari atas) dan mengatur semua bit host menjadi 1. Alamat broadcast digunakan untuk mengirim ke semua alamat dalam jaringan yang diberikan.
Tantangan
Diberikan alamat IP titik-desimal dan netmask yang valid sebagai input, berikan alamat jaringan dan alamat siaran sebagai output, juga dalam format titik-desimal.
- Input harus berupa alamat dan mask sebagai dua string dalam format desimal bertitik. Anda dapat melewatkan ini sebagai 2 string terpisah, sebagai daftar atau larik elemen string 2 atau string tunggal dengan alamat dan mask dipisahkan oleh beberapa pemisah yang masuk akal.
- Format output tunduk pada batasan yang sama dengan format input.
Contohnya
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
di dalamnya.
10.24.0.0 10.27.255.255
?