$a = 98989265;
$k = 0;
while ($a & ~(1 << $k)) {
$a = $a & ~(1 << $k);
$k++;
}
echo $a.' '.$k;//67108864 26 也及2的26次方
其中 $a = $a & ~(1 << $k) 为将第k位,置0;
另 $a = $a | (1 << $k) 为将第k位,置1
$a = 98989265;
$k = 0;
while ($a & ~(1 << $k)) {
$a = $a & ~(1 << $k);
$k++;
}
echo $a.' '.$k;//67108864 26 也及2的26次方
其中 $a = $a & ~(1 << $k) 为将第k位,置0;
另 $a = $a | (1 << $k) 为将第k位,置1