在 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中文網其他相關文章!