Mind you, it's not EVERY 255 you have to save, just the ones at the end of the subnet. So with 255.255.240.0 you CAN'T use 158.80.15.255 because it's the end of the subnet and is reserved for broadcast:
Code:
--------NETWORK-------/-----HOST-----
Mask 11111111 11111111 1111 0000 00000000
Address 10011110 01010000 0000 1111 11111111
You've filled every block in the host address. This defines a broadcast.
But switch to 158.80.16.255:
Code:
--------NETWORK-------/-----HOST-----
Mask 11111111 11111111 1111 0000 00000000
Address 10011110 01010000 0001 0000 11111111
The host address block is NOT full. This is an individual host. The next logical broadcast address instead is 158.80.31.255:
Code:
--------NETWORK-------/-----HOST-----
Mask 11111111 11111111 1111 0000 00000000
Address 10011110 01010000 0001 1111 11111111
Because again, every block in the HOST portion is filled.