IP地址转换算法

来源:互联网 发布:linux系统运维工程师 编辑:程序博客网 时间:2024/05/16 17:39

出于各种需要,有时候需要把IP算成整数,有是有需要将整数换算为IP原码。下面列出简单的公式供参考 :

1.IP地址转整数

    假设IP地址为192.168.1.1

   Int64 sIP=192*256*256*256+168*256*256+1*256+1

2.整数转IP原码

   假设3232235777

   还原为 IP1.IP2.IP3.IP4

    Int64 IP1=3232235777/(256*256*256)

    Int64 IP2=(3232235777-IP1*(256*256*256))/(256*256)

    Int64 IP3=(3232235777-IP1*(256*256*256)-IP2*(256*256))/256

     Int64 IP4=3232235777- IP1*(256*256*256)-IP2*(256*256)-IP3*256

请注意:

1.上述变量均定义为整数64位,是因为数据较大,32位整型会超出范围。

2.上述语法是使用c#编写,如果使用其他语言,在方法2中使用取整函数后给变量赋值。

 

转载至:bigwood88的空间:http://hi.baidu.com/bigwood88/blog/item/3f6d92debec9eeaacc116643.html