Posted to tcl by colin at Wed Feb 15 05:04:43 GMT 2012view raw
- 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]"
- }