When looking at classful networks, we must look at the number of bits in the network portion of the address, but we must also take into account the leading bits. A class A network always has a leading bit of “0”. This means that although there are indeed 8 bits in the network portion, only 7 can be manipulated/modified to denote a network, the leading bit must always be 0. That is why we have 2^7 = 128 networks that range from 0.0.0.0 to 127.0.0.0. Note that 184.108.40.206 is not a class A address because such an address has a leading bit of 1 and not 0.
The same goes for class B networks, where we indeed have 16 bits in the network portion of the address, but class B networks, by definition, have their leading bits set at “10” which means these two bits cannot be used to denote additional networks. That means that we have 16-2=14 bits, so we have 2^14=16384 network addresses, ranging from 220.127.116.11 to 18.104.22.168. Note that the first octet of all numbers ranging from 128 to 191 have the first two bits set to “10” fulfilling the requirement of the definition of the class…
Similarly, class C networks may have 24 bits in the network portion of the address, but the leading bits must be set to “110” which means 2^21 networks can be created.
It’s not always easy to get our heads around the logic behind the classful network scheme, but I hope this clarified it for you somewhat.
I hope this has been helpful!