【问题标题】:Java convert 16 bits signed to 4 digits hexJava将16位有符号转换为4位十六进制
【发布时间】:2014-05-18 01:32:14
【问题描述】:

在处理有符号整数到十六进制的转换时,只有Integer.toString(value, 16) 有用

a post on subject 但我需要用 4 个十六进制数字格式化(正数的前导零而不是负数的 32 位/8 字符),

在 C++ 中,正确的函数是 IntToHex( value,4) http://docwiki.embarcadero.com/Libraries/XE3/en/System.SysUtils.IntToHex

但我没有在 Java (Android) 中找到对应的。

【问题讨论】:

  • 4 个十六进制数字将是短类型(16 位)而不是整数 (32)
  • 找到它:int StepRef =-2; String SS = String.format("%08X",StepRef);字符串 SS4 = SS.substring(SS.length() - 4);
  • 你确定这是你想做的。它只转换“一半”的数字”。
  • 是的,我只需要 16 位宽!它的工作方式类似于 IntToHex(value,4)
  • 是的,但是如果由于某种原因在您的代码中“溢出”,例如 32766 = “0000”,那么找出可能是痛苦的位置和原因。

标签: java android hex


【解决方案1】:

找到了:

int StepRef =-2;
String SS = String.format("%08X",StepRef);
String SS4 = SS.substring(SS.length() - 4);

【讨论】:

    猜你喜欢
    • 2019-01-09
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 2017-03-08
    • 2018-07-23
    • 2014-05-05
    • 2014-07-10
    • 1970-01-01
    相关资源
    最近更新 更多