Posted to tcl by colin at Wed Feb 15 05:04:43 GMT 2012view pretty
proc pow2round {k {upto 4096}} { incr k -1 for {set i 1} {$i < $upto} {set i [expr {$i << 1}]} { set k [expr {$k | $k >> $i}] } return [incr k] } foreach n {2689 2688 4032 4080 4095 4096 2689 1020 } { puts "$n: [pow2round $n]" }