Working With Binary
To have a clear understanding of how subnetworking works, we have to look at subnet masks in their "bit" form. The 1's and 0's that make them up, and are read and understood by computers.
The act of subnetting is "borrowing" a bit, or several bits, from the host octets, which is also expressed in the subnet mask. If you were to subnet a class A network, your starting subnet would be: 255.0.0.0
Expressed in binary, where we can see all the bits, it would look like this: 11111111.00000000.00000000.00000000
How do we know that without using a binary converter? It's easy. Just like how in base 10 (our normal number scheme) there are "place's" that mean different things, like the "ones" place, the "tens" place, the "hundreds" place (which are all multiples of, or divisible by 10) etc, binary has "place's" too.
In binary the first bit is 1, the second is 2, the third is 4, the fifth is 8, and so on, doubling as it goes. So if we have 8 bits, their converted values would look like this:
The binary 1's and 0's tell us which of those places we should be counting, rather like a "6" in the "tens" place tells us it means 60. Therefore the binary number, 11111111 tells us that it actually means:
128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255
whereas the binary number, 10101010 means:
128 + 0 + 32 + 0 + 8 + 0 + 2 + 0 = 170