Given an IP address and subnetmask, how do I calculate the CIDR?

RoelF picture RoelF · Mar 24, 2010 · Viewed 10.8k times · Source

Ok I can't seem to figure this out: given the following:

IP address = 192.168.1.0
Subnetmask = 255.255.255.240

Using c#, how do I calculate the CIDR notation 192.168.1.0/28 ? Is there an easy way to achieve this? Am I missing something?

Thanks!

Answer

wRAR picture wRAR · Mar 24, 2010

256 - 240 = 16 = 2**4, 32 - 4 = 28

It is not really a C# question.

To get a net address from an IP and mask you can apply bytewise and to the IP and mask. You can get bytes from a string using IPAddress.Parse() and IPAddress.GetAddressBytes().