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

3
我希望能将有符号整数转换为32位十六进制。下面的方法可以成功地将正整数转换为16进制:
format %.8x $the_decimal_value

但是对于负整数,我得到了64位十六进制。

例如,99 被转换为 00000063,但是 -81 被转换为 ffffffffffffffaf

有人知道如何从负整数获取32位十六进制吗?

1个回答

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

我能找到的唯一提示在文档中是这个链接。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接