符号付き整数を32ビット16進数に変換したい。以下は正の整数に対して正常に機能します。
format %.8x $the_decimal_value
しかし、負の整数の場合、64ビットの16進数を取得しました。たとえば、99
はに変換されます00000063
が、-81
に変換されffffffffffffffaf
ます。
負の整数から32ビットの16進数を取得する方法を知っている人はいますか?
% set num -81
% format 0x%.8x [expr {$num & 0xFFFFFFFF}]
0xffffffaf
私が見つけることができるドキュメントの唯一のヒントはこれです。