This program has all this, as well as calculating subnets based on mask bits, mask, host bits, hosts pre subnet and and number of subnets. Calculate a list of addresses for any subnet.
Thsi is the tool to have if you are going to be doing any subnet work for your LAN setup.