在 Java 中获取整数的零填充二进制表示
在编程中,经常需要以二进制格式表示整数。虽然 Java 的 Integer.toBinaryString() 方法提供二进制表示形式,但默认情况下它不添加零填充。本文探讨了如何在 Java 中获取零填充的二进制表示。
零填充要求
假设我们有数字 1、2、128 和 256,我们希望用二进制表示它们,并用零填充到 16 位的长度。所需的输出将是:
0000000000000001 0000000000000010 0000000010000000 0000000100000000
标准 Java 解决方案
Java 的 String.format() 方法允许用户指定填充的格式说明符。然而,它的默认行为是使用空格进行左填充,导致:
1
定制解决方案
为了实现零填充,我们可以使用自定义方法:
String binaryString = Integer.toBinaryString(1); String zeroPaddedBinaryString = String.format("%16s", binaryString).replace(' ', '0');
这里,我们首先使用 Integer.toBinaryString() 来获取二进制代表。然后,我们使用 String.format() 和格式说明符“ s”来确保 16 位宽度并使二进制表示形式左对齐。最后,我们使用 Replace() 方法将空格替换为零。
替代解决方案
另一种方法是使用添加必要的零填充的自定义方法:
public static String zeroPaddedBinary(int number) { String binaryString = Integer.toBinaryString(number); int desiredLength = 16; StringBuilder zeroPaddedBinaryString = new StringBuilder(); for (int i = binaryString.length(); i < desiredLength; i++) { zeroPaddedBinaryString.append('0'); } zeroPaddedBinaryString.append(binaryString); return zeroPaddedBinaryString.toString(); }
此方法获取整数,将其转换为二进制字符串,确定必要的零填充,添加零,并返回补零的二进制表示。
以上是如何在 Java 中获取整数的零填充二进制表示形式?的详细内容。更多信息请关注PHP中文网其他相关文章!