Subnet masks 11111111.11111111.11111111.11110000 (or 255.255.255.240 or 0xFF.0xFF.0xFF.0xF0) and 11111111.11111111.11111111.00001111 (or 255.255.255.16 or 0xFF.0xFF.0xFF.0x0F) are not equal halves of a subnet. They a "16ths" of a "/24"subnet. 11111111.11111111.11111111.10000000 (or 255.255.255.128 or 0xFF.0xFF.0xFF.0x80) would be half of a 255 subnet( or "/25" is half of "/24").
255.255.255.240(which would be a "/28" subnet, being CIDR compliant) has 16 subnets 0-15, 16-31, 32-47, 48-53, 54-63, 64-79, 80-95, 96-111, 112-127, 128-143, 144-159, 160-171, 172-187, 188-203, 204-219, 220-235, 236-255. Each with a network Designate(first address IOW 192.168.0.0/28 is designate) giving us 192.168.0.1-14 usable addresses and a Network Broadcast (last address 192.168.0.15).
255.255.255.16(is not classable and is not CIDR compliant) has 16 subnets too, but are differing in length: "0,16,32,48,54,64,80,96,112,128,144,160,172,188,204,220,236" is "0" subnet, "1,17,33,49,55,65,81,97,113,129,145,161,172,189,205,221,237" is "1" subnet, etc...
It would get ALOT more screwed up then that if you used say: 11111111.11111111.11111111.10010101 (or 255.255.255.149 or 0xFF.0xFF.0xFF.0x95) it hurts my head to think that hard... but if you want answers... I'd be more than happy to guide you into solving it yourself.