TCL:将负整数转换为十六进制?

时间:2012-08-07 15:59:27

标签: format hex tcl signed

我想将有符号整数转换为32位十六进制。 以下适用于正整数:

format %.8x $the_decimal_value

但对于负整数,我得到了64位十六进制。 例如,99转换为00000063,但-81转换为ffffffffffffffaf

任何人都知道如何从负整数中获取32位十六进制数?

1 个答案:

答案 0 :(得分:2)

% set num -81
% format 0x%.8x [expr {$num & 0xFFFFFFFF}]
0xffffffaf

我能找到的文档中唯一的提示是this