On Fri, Aug 9, 2013 at 9:34 AM, Fleuriot Damien <m...@my.gd> wrote: > > On Aug 8, 2013, at 10:27 AM, Peter Wemm <pe...@wemm.org> wrote: > >> On Thu, Aug 8, 2013 at 12:04 AM, s m <sam.gh1...@gmail.com> wrote: >>> hello guys, >>> >>> i have a question about ip addresses. i know my question is not related to >>> freebsd but i googled a lot and found nothing useful and don't know where i >>> should ask my question. >>> >>> i want to know how can i calculate the number of ip addresses in a range? >>> for example if i have 192.0.0.1 192.100.255.254 with mask 8, how many ip >>> addresses are available in this range? is there any formula to calculate >>> the number of ip addresses for any range? >>> >>> i'm confusing about it. please help me to clear my mind. >>> thanks in advance, >> >> My immediate reaction is.. is this a homework / classwork / assignment? >> >> Anyway, you can think of it by converting your start and end addresses >> to an integer. Over simplified: >> >> $ cat homework.c >> main() >> { >> int start = (192 << 24) | (0 << 16) | (0 << 8) | 1; >> int end = (192 << 24) | (100 << 16) | (255 << 8) | 254; >> printf("start %d end %d range %d\n", start, end, (end - start) + 1); >> } >> $ ./homework >> start -1073741823 end -1067122690 range 6619134 >> >> The +1 is correcting for base zero. 192.0.0.1 - 192.0.0.2 is two >> usable addresses. >> >> I'm not sure what you want to do with the mask of 8. >> >> You can also do it with ntohl(inet_addr("address")) as well and a >> multitude of other ways. > > > Hold on a second, why would you correct the base zero ? > It can be a valid IP address.
There is one usable address in a range of 10.0.0.1 - 10.0.0.1. Converting to an integer and subtracting would be zero. Hence +1. -- Peter Wemm - pe...@wemm.org; pe...@freebsd.org; pe...@yahoo-inc.com; KI6FJV UTF-8: for when a ' just won\342\200\231t do. <brueffer> ZFS must be the bacon of file systems. "everything's better with ZFS" _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"