例如,以下是两组IP地址,现在,您如何识别每组的更高IP?
SET A:
10.192.3.177和10.192.2.204
SET B:
10.192.3.205和10.192.2.204
谢谢!
答案 0 :(得分:4)
如果将它们转换为32位整数,则较大的整数将是更大的整数。换句话说:
10.192.3.177 -> 0x0ac003b1 (180,356,017) (bigger)
10.192.2.204 -> 0x0ac002cc (180,355,788)
10.192.3.205 -> 0x0ac003cd (180,356,045) (bigger)
10.192.2.204 -> 0x0ac002cc (180,355,788)
我很难想象一个重要的用例,但如果我必须检查一个程序,那就是我会采取的方法。
答案 1 :(得分:1)
你应该澄清“更大”的意思。
但是每个IP地址的数字(uint32)值可以用以下公式计算:
d + 256 * c + 65536 * b + 16777216 * a
其中a,b,c和d是IPv4格式的基数10值: A.B.C.D
答案 2 :(得分:1)
如果您正在对IP列表进行排序,您还可以将IP存储在一个字符串中,每个八位字节前置0到3位数字。然后文本排序工作正常。
示例:
010.192.002.204
010.192.003.177