for {set i 0} {$i <16} {incr i} { set hex_str [format "%04b" $i] puts -nonewline "hex_str = $hex_str" puts -nonewline " bit\[3:0\] =" for {set j 3} {$j >= 0} {incr j -1} { set idx [expr 3-$j] set bit_str [string range $hex_str $idx $idx] puts -nonewline " $bit_str" } puts "" }