3

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

format %.8x $the_decimal_value

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

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

4

1 回答 1

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

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

于 2012-08-07T16:19:33.063 回答