Vielleicht hilft es dir, wenn du "bitweise denkst":
Du hast in diesem Fall (ein /22 Netz) 10 Bits zur Verfügung, um die IP-Adressen darzustellen. 2^10 = 1024 Stück. Soweit, so gut.
Das Kleinste, was man mit den 10 Bit darstellen kann, ist 0000000000. Ich trenne an dieser Stelle schonmal nach den späteren Oktetts, damit es übersichtlicher wird: 00.00000000
Dezimal entspricht das natürlich auch Null, und das ist die Bezeichnung des Netzes (hier: 10.10.0.0)
Möchte man nun die IPs (Hostadressen) vergeben, füllt man einfach "von rechts aus" die Bits auf:
00.00000001 = .1
00.00000010 = .2
00.00000011 = .3 etc.
Irgendwann ist man binär an folgendem Punkt: 00.11111111
Bei einem /24 ist man hier am Ende, dies ist die letzte Adresse, die sich mit 8 Bits darstellen lässt - definitionsgemäß also die Broadcast-Adresse (in Dezimalschreibweise bist du hier bei 255).
Du hat ja aber noch 2 weitere Bits zur Verfügung, die aufgefüllt werden können. Also ist das Nächstgrößere in der Reihe:
01.00000000 (= 256 dez.)
Und so geht es immer weiter, bis insges. 10 Bits komplett aufgefüllt sind, das wäre dann eben:
11.11111111 (= 1023 dez.)
Da man aber nunmal bei IP-Adressen immer in den Oktetts beschränkt ist (deswegen heißen die ja auch so ), darf man hier nicht ".1023" sagen, sondern eben ".3.255"