日期:2014-05-18  浏览次数:20529 次

动网论坛的IP数据库问题
我就是想请问以下动网IP数据库的那个IP段的算法是怎么弄的 一个普通的IP他是杂个算成 1032829440 这种数字的 知道的告诉下 谢谢

他其中的数据

IP1 IP2 省份
1032826880 1032829439 广东省
1033240576 1033243162 陕西省西安市




------解决方案--------------------
试下比如IP=
153.023.012.005
153·256^3 + 23·256^2+ 12·256 + 5·256^0
------解决方案--------------------
反过来计算IP地址就是

C# code

 int[] GetIPValue(int IPNumber)
        {
            int[] ipValue = new int[4];
            ipValue[0] = (int)(IPNumber / Math.Pow(256,3));
            ipValue[1] = (int)((IPNumber - Math.Pow(256, 3) * ipValue[0]) / Math.Pow(256, 2));
            ipValue[2] = (int)((IPNumber - Math.Pow(256, 3) * ipValue[0] - Math.Pow(256, 2) * ipValue[1]) / 256);
            ipValue[3] = (int)(IPNumber - Math.Pow(256, 3) * ipValue[0] - Math.Pow(256, 2) * ipValue[1] - 256 * ipValue[2]);
            return ipValue;
        }