10 lines
327 B
Tcl
10 lines
327 B
Tcl
proc digitReverse {n {base 2}} {
|
|
set n [expr {[set neg [expr {$n < 0}]] ? -$n : $n}]
|
|
set result 0.0
|
|
set bit [expr {1.0 / $base}]
|
|
for {} {$n > 0} {set n [expr {$n / $base}]} {
|
|
set result [expr {$result + $bit * ($n % $base)}]
|
|
set bit [expr {$bit / $base}]
|
|
}
|
|
return [expr {$neg ? -$result : $result}]
|
|
}
|