Zadanie na bitowe.
Informacje wprowadzające
W wersji 4 protokołu Internet Protocol (IPv4) adresy reprezentowane są przez 32-bitowe liczby całkowite nieujemne, zwykle podzielone na 4 nieujemne 8-bitowe liczby całkowite (tzw. oktety) rozdzielone kropkami.
W podobny sposób (jako 32-bitowe liczby całkowite nieujemne, podzielone na 4 nieujemne 8-bitowe liczby całkowite (oktety) rozdzielone kropkami) reprezentowane są maski dla tych adresów. Maska o długości n jest wówczas liczbą, której n najbardziej znaczących bitów jest jedynkami, a kolejne 32-n (najmniej znaczących) bitów jest zerami.
Przykładowo maska o długości 24 zapisywana jest jako 255.255.255.0, a maska o długości 26 jako jako 255.255.255.192.
Sieć w protokole IPv4 jest determinowana przez jej adres oraz maskę. Adres sieci musi mieć zera w bitach odpowiadających zerowym bitom sieci maski.
Przykładowo sieć mat.umk.pl posiada adres 158.75.2.0 oraz maskę długości 24 i dlatego zapisujemy ją jako 158.75.2.0/24 lub 158.75.2.0/255.255.255.0.
W sieci o masce długości n mamy 2^{32-n} adresów komputerów. Otrzymujemy je przez zastąpienie w adresie sieci ostatnich 32-n bitów bitami o dowolnych wartościach.
Zadanie
Napisz program, który dla wczytanej liczby całkowitej z przedziału [0,32] będącej długością maski adresu IPv4 wypisze odpowiadającą maskę adresu IPv4 w postaci 4 oktetów (liczb 8-bitowych) rozdzielonych kropkami.
PrzykładyWejście | Wyjście |
0 |
0.0.0.0 |
32 |
255.255.255.255 |
24 |
255.255.255.0 |
26 |
255.255.255.192 |