【问题标题】:TCL: convert negative integer to hexadecimal?TCL:将负整数转换为十六进制?
【发布时间】:2012-08-04 16:37:20
【问题描述】:

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

format %.8x $the_decimal_value

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

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

【问题讨论】:

    标签: format hex tcl signed


    【解决方案1】:
    % set num -81
    % format 0x%.8x [expr {$num & 0xFFFFFFFF}]
    0xffffffaf
    

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

    【讨论】:

    • @user1582448 然后通过单击它旁边的复选标记将其标记为正确。
    猜你喜欢
    • 1970-01-01
    • 2010-10-16
    • 2019-04-30
    • 2014-04-16
    • 2016-12-04
    • 1970-01-01
    相关资源
    最近更新 更多