【问题标题】:Converting a Hex String into 32 Bit Binary String将十六进制字符串转换为 32 位二进制字符串
【发布时间】:2011-11-20 17:02:18
【问题描述】:

如何将十六进制字符串转换为 32 位二进制字符串?我做了

String binAddr = Integer.toBinaryString(Integer.parseInt(hexAddr, 16));

要获得二进制字符串,但我需要用 0 填充它以确保其 32 位,我该怎么做,最好使用 Formatter?

【问题讨论】:

标签: java string binary


【解决方案1】:
String binAddr = Integer.toBinaryString(Integer.parseInt(hexAddr, 16)); 
String.format("%032", new BigInteger(binAddr));

这里的想法是暂时将字符串解析为十进制数(恰好由所有 1 和 0 组成),然后使用String.format()

请注意,您基本上必须使用 BigInteger,因为如果您尝试使用 Integer.fromString()Long.fromString(),二进制字符串会很快溢出 Integer 和 Long 导致 NumberFormatExceptions。

【讨论】:

    猜你喜欢
    • 2019-08-23
    • 1970-01-01
    • 2014-05-20
    • 2017-02-23
    • 2014-08-03
    • 2015-06-21
    • 2014-10-24
    • 2012-03-04
    相关资源
    最近更新 更多