0使用PHP
,我想在二进制系统中创建一个由给定数量的1组成的数字。例如,如果位数为5,则二进制系统中的输出为11111
,即2^5 -1
。
我知道可以通过以下方式完成:
pow( 2, ( 32 - $netmask ) ) - 1;
但我担心这会耗费时间,所以我想也许使用按位运算符会更好。例如:
(~0 >> $netmask) << $netmask
但我不确定它是否适用于PHP
。
($netmask
是第一个1之前的0位数,它在0到32之间.1的数量等于32-$netmask
)
第二个公式是否正确?它比第一个好吗?
非常感谢