如何将IP地址转换为1到3之间的整数?

Tom*_*Tom 1 math ip

我不是数学家,所以这可能是一个愚蠢的问题...但是 - 有没有办法将IP地址转换为1到3之间的整数,从而有A)平均分配1,2和3和B )每个IP地址将始终转换为相同的整数?(实质上是一个哈希).

我使用3作为例子 - 理想情况下我希望可以自定义范围限制.

$highest_allowed_integer = 3;
$integer = get_evenly_distributed_but_always_identical_integer($_SERVER["REMOTE_ADDR"],$highest_allowed_integer);

谢谢!

Meh*_*dad 7

将整个IPv4地址视为基数256(即4.3.2.1将转换为(4 << 24) + (3 << 16) + (2 << 8) + 1)的数字,然后将其修改为3,然后加1.

稍微偏离一点,您可能想要研究散列的概念.