OK, I'm gonna try this without confusing myself.
10.0.0.0 with a 255.255.240.0 mask.
20 bits of subnet mask, 12 bits of host address. If you go by "the rules," not convention, then the first subnet would be 10.0.0.0 (all zeros in the host portion,subnet 0000). The first available host address would be 10.0.0.1, and the broadcast would be 10.0.15.255 (all ones in the host portion).
The next subnet would be 10.0.16.0 (all zeros in the host adress, subnet 0001), the first host address of the second subnet would be 10.0.16.01, and the broadcast would be 10.0.31.255.
The third subnet would be 10.0.32.0 (all zeros in the host portion,subnet 0010), the first host address would be 10.0.32.1, the broadcast would be 10.0.47.255 (all ones).
The fourth would be 10.0.48.0, 10.1.48.1, 10.0.63.255 (subnet 0011)
Fifth would be 10.0.64.0, 10.0.64.1, 10.0.79.255 (subnet 0100)
and so on.
Since there are four bits left in the last subnet octet, the subnet will always increment by 16. If there were two bits, it would increment by four...etc.
The addresses by convention may not be acceptable. By convention, all zeros are the "net address" and all ones in the host portion are the segment broadcast address. The convention favors the old UNIX System V convention.....BSD used to use all zeros as a broadcast. So, though they are legit addresses "by the rules," conventional practice tosses out all zeros and all ones as host addresses.
If you wnated to ues the 10.0.0.1/20 in a Cisco router, you also have to enable "Use Zero Subnets"
Gawd I hope I got that right......it's been a rough day. Now I have to go sharpen my pencil again......
FWIW
Scott