perl -wle 'print log(~$_&($_+1))/log 2 for 0..2**pop()-2' 3 perl -wle '$n=-1+2**pop;print log($n--&~$n)/log 2while$n' 3