首頁 >Java >java教程 >如何在 Java 中取得整數的零填充二進位表示法?

如何在 Java 中取得整數的零填充二進位表示法?

DDD
DDD原創
2024-12-07 08:07:12594瀏覽

How to Get Zero-Padded Binary Representations of Integers in Java?

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn