文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>关于ip地址的排序,统计出现频率

关于ip地址的排序,统计出现频率

时间:2010-10-23  来源:wsnhyjj

现在给你一些ip地址,要求你将其排序,或者统计每个ip地址出现的频率,例如下面的ip: 10.254.82.126 
10.85.124.135 
10.254.82.126 
10.254.82.126 
10.1.82.125 
10.85.124.135 
10.254.82.126 
10.254.82.126 

   ip地址一般是字符串型的,直接对字符串排序肯定不方便,要是做个预处理就比较好了,这里可以将其转换为整数: IP 0.0.0.0 正好对应 4* 8(bits) = 32位(1个int) 可以采用256进制的方法,将其转换为一个无符号整数,因为ip地址最大为255.255.255.255,无符号整数表达的范围为2^32-1,所以ip地址转化为unsigned int肯定不会溢出,如10.254.82.126,可以采用如下的转换:10*256^3+254*256^2+82*256+126,这样对整数排序还是很方便的。。。 IP 0.0.0.0 正好对应 4* 8(bits) = 32位(1个int)
另外也可以这样写, const char *ip = "127.0.0.1";
unsigned int a1,a2,a3,a4,result = 0;
sscanf(ip,"%d.%d.%d.%d",&a1,&a2,&a3,&a4);
result |= a1 << 24;
result |= a2 << 16;
result |= a3 << 8;
result |= a4;
result和上面算出来的是一致的。
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载