PHP-从数量计算位掩码

PHP-从数量计算位掩码,php,math,networking,bit-manipulation,Php,Math,Networking,Bit Manipulation,我需要计算N个IP的位掩码。。我从记忆中知道: 32 = 1 IP 31 = 2 IP 30 = 4 IP 29 = 8 IP 等等 如果我需要8个Ip,那等于POW(2,3)=8;然而,我从8开始,需要反向计算 用PHP计算这一点的最佳方法是什么 提前谢谢 结果是一样的,我只是喜欢明确地写出除法。唉,我的数学有点生疏了(自我提示:复习…,所以我真的很好奇;)很高兴重新认识到这两个相等。我不懂对数,所以我避免了:),但解决方案和任何方法一样有效。思考它们的一种方式是:日志是乘法,就像乘法是

我需要计算N个IP的位掩码。。我从记忆中知道:

32 = 1 IP
31 = 2 IP
30 = 4 IP
29 = 8 IP  
等等

如果我需要8个Ip,那等于POW(2,3)=8;然而,我从8开始,需要反向计算

用PHP计算这一点的最佳方法是什么


提前谢谢

结果是一样的,我只是喜欢明确地写出除法。唉,我的数学有点生疏了(自我提示:复习…,所以我真的很好奇;)很高兴重新认识到这两个相等。我不懂对数,所以我避免了:),但解决方案和任何方法一样有效。思考它们的一种方式是:日志是乘法,就像乘法是加法一样。转换为日志操作将指数运算简化为简单的乘法,就像乘法简化为简单的重复加法一样。结果是一样的,我只是喜欢显式写出除法。唉,我的数学有点生疏了(注意:刷一下…,所以我真的很好奇;)很高兴重新认识到这两个相等。我不懂对数,所以我避免了:),但解决方案和任何方法一样有效。思考它们的一种方式是:日志是乘法,就像乘法是加法一样。转换为日志操作会将幂运算简化为简单乘法,就像乘法简化为简单的重复加法一样。
$bitsrequired = ceil(log($number_of_ips) / log(2));