2012-08-07 169 views
3

我想將有符號整數轉換爲32位十六進制。 以下工作正常,正整數:TCL:將負整數轉換爲十六進制?

format %.8x $the_decimal_value 

但對於負整數,我得到了64位十六進制。 例如,99轉換爲00000063,但-81轉換爲ffffffffffffffaf

任何人都知道如何從一個負整數獲得32位十六進制?

回答

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

我可以找到的文檔中唯一的提示是this

+0

非常感謝!這工作:) – jenny 2012-08-07 16:27:43

+0

@ user1582448然後點擊旁邊的複選標記標記它正確。 – 2012-08-08 10:43:17

相關問題