IP 和整数是同一个数
一个 IPv4 地址本质上是 32 位无符号整数,点分十进制(如 66.102.7.147)只是把这 32 位按每 8 位一段写出来便于阅读。把它换算成单个十进制整数,常用于数据库存储、排序和判断 IP 是否落在某个网段,比直接存字符串更省空间也更好比较。
换算方法
把四段从高位到低位加权求和即可。以 66.102.7.147 为例:
66×256³ + 102×256² + 7×256 + 147 = 1113982867
所以 66.102.7.147 对应整数 1113982867,反过来用除法和取余即可还原。在浏览器里访问 http://1113982867 和访问 http://66.102.7.147 是同一台服务器。