Provavelmente tem um jeito mais fácil de resolver, mas meu raciocínio foi o seguinte.
10.167.5.8/10 se refere a um endereço da classe A.
Com o /10 eu descubro quantos endereços tem numa subrede.
2^(32-10) > 2^22 > 4.194.304
Dividi esse numero por 256*256 (65.536) e, com isso cheguei a 64. Esse é o valor que alteraremos o segundo parâmetro.
Ex.
10.0.0.0 até 10.63.0.0
10.64.0.0 até 10.127.0.0
10.128.0.0 até 10.192.0.0
O primeiro é sempre o endereço de rede e o último é sempre o endereço de broadcast.
Logo:
Rede 10.128.0.0
Broadcast 10.191.255.255
b-
1-
/10 -> 10 network bits. logo, a mascara de rede é 11111111.110000.00000000.00000000. -> 255.192.0.0
_________________________________________________________________________________________________________
2-
converter IP e mascara p/ binario:
11111111.110000.00000000.00000000
00001010.10100111.00000101.00001000
_________________________________________________________________________________________________________
3-
fazer operação AND com IP e masc
11111111.110000.00000000.00000000
00001010.10100111.00000101.00001000
___________________________________
00001010.10000000.00000000.00000000 -> 10.128.0.0. end rede é 10.128.0.0
_________________________________________________________________________________________________________
4-
inverter bits da mascara:
11111111.110000.00000000.00000000 -> 00000000.00111111.11111111.11111111
_________________________________________________________________________________________________________
5-
com mascara invertida, fazer operação OR com IP
00000000.00111111.11111111.11111111
00001010.10100111.00000101.00001000
___________________________________
00001010.10111111.11111111.11111111 -> 10.191.255.255. broadcast
___________//___________
"Einen Vorsprung im Leben hat, wer da anpackt, wo die anderen erst einmal reden."