我想将有符号整数转换为32位十六进制。 以下适用于正整数:
format %.8x $the_decimal_value
但对于负整数,我得到了64位十六进制。
例如,99
转换为00000063
,但-81
转换为ffffffffffffffaf
。
任何人都知道如何从负整数中获取32位十六进制数?
答案 0 :(得分:2)
% set num -81
% format 0x%.8x [expr {$num & 0xFFFFFFFF}]
0xffffffaf
我能找到的文档中唯一的提示是this。