如何判断两IP是否在同一网段
现在要做一个函数,要求能够判断任意两IP是否在同一网段。我只知道需要将两IP先进行转换成二进制的数,然后再进行相与,将两个与的结果进行比较。同,则在同一网段,否则,不在同一网段。
如:ip1 = 10.13.135.9
ip2 = 10.14.140.8
先转换
ip1 = 00001010.00001101.10000111.000010001
ip2 = 00001010.00001110.10001100.000010000
ip1 00001010.00001101.10000111.000010001
& mask 11111111.11111111.11111111.000000000
-----------------------------------------------------
ip1 00001010.00001101.10000111.000000000
ip2 00001010.00001110.10001100.000010000
& mask 11111111.11111111.11111111.000000000
-----------------------------------------------------
ip2 00001010.00001110.10001100.000000000
由 ip1 00001010.00001101.10000111.000000000
ip2 00001010.00001110.10001100.000000000
得出: ip1 != ip2
哪位大侠能不能给出C或者C++ 的代码,小弟才疏学浅,望不吝赐教!