0Using PHP
Я хочу сделать число, которое состоит из заданного числа 1 в двоичной системе. Например, если число битов равно 5, вывод будет 11111
в двоичной системе, т.е. 2^5 -1
,
Я знаю, что это может быть сделано:
pow( 2, ( 32 - $netmask ) ) - 1;
Но я боюсь, что это займет много времени, поэтому я подумал, может быть, лучше использовать побитовые операторы. например:
(~0 >> $netmask) << $netmask
Но я не уверен, что это работает в PHP
,
($netmask
это число 0 цифр перед первой 1, и оно находится между 0 и 32. Число 1 равно 32-$netmask
)
Верна ли вторая формула? и это лучше чем первый?
большое спасибо
Других решений пока нет …