在 Java 中將 Int 轉換為二進位制

Rupam Yadav 2023年10月12日
  1. 在 Java 中使用 Integer.toBinaryString() 將 Int 轉換為二進位制
  2. 在 Java 中使用 Integer.toString() 將 Int 轉換為二進位制
  3. 在 Java 中使用 StringBuilder 和一個迴圈將 Int 轉換為二進位制
在 Java 中將 Int 轉換為二進位制

二進位制數用兩個二進位制數字表示,即 01。我們可以使用下面列出的三種方法將 int 值轉換為 Java 中的二進位制值。

在 Java 中使用 Integer.toBinaryString() 將 Int 轉換為二進位制

int 值轉換為二進位制的最常見和最簡單的方法是使用 Integer 類的 toBinaryString() 函式。Integer.toBinaryString() 採用 int 型別的引數。

在程式中,我們將一個 int 值儲存在變數 numInt 中,然後將其作為引數傳遞給返回 StringInteger.toBinaryString() 方法。

public class JavaExample {
  public static void main(String[] args) {
    int numInt = 150;
    String binaryString = Integer.toBinaryString(numInt);
    System.out.println(binaryString);
  }
}

輸出:

10010110

在 Java 中使用 Integer.toString() 將 Int 轉換為二進位制

在這個例子中,我們使用 Integer 類方法的另一個方法:toString() 方法。

Integer.toString() 接受兩個引數,其中第二個引數是可選的。第一個引數是要轉換為字串的值,第二個引數是要轉換的基數值。

對於我們的程式,我們需要使用 toString() 函式的兩個引數來指定基數 2,表示二進位制數字 01。簡單來說,當我們使用基數 2 時,int 被轉換為僅代表 01String 值。

我們列印出 numInt 的二進位制表示的結果。

public class JavaExample {
  public static void main(String[] args) {
    int numInt = 200;
    String binaryString = Integer.toString(numInt, 2);
    System.out.println(binaryString);
  }
}

輸出:

11001000

在 Java 中使用 StringBuilder 和一個迴圈將 Int 轉換為二進位制

最後一個程式採用傳統方法;我們沒有使用內建函式將 int 值轉換為二進位制,而是建立了執行相同工作的函式。

在下面的程式碼中,我們建立了一個函式 convertIntToBinary(),它接收 int 值作為要轉換的引數。我們將函式的返回型別設定為字串。

convertIntToBinary() 方法中,我們首先檢查 int 變數 numInt 是否保持零。如果是,我們返回 0,因為 int0 的二進位制表示也是 0。如果它是一個非零整數值,我們建立一個 StringBuilder 類和一個 while 迴圈。

我們執行迴圈直到 numInt 大於零。在迴圈中,我們執行三個步驟;第一種是使用 numInt % 2 找到 numInt 的餘數,然後將 remainder 的值附加到 StringBuilder

最後一步,我們將 numInt 值除以 2 並將其儲存在 numInt 本身中。一旦我們執行完所有步驟並退出迴圈,我們反轉 stringBuilder 值以獲得正確的結果並在將 stringBuilder 值轉換為 String 後返回結果。

main() 方法中,我們獲取使用者的輸入並將其傳遞給返回二進位制結果的 convertIntToBinary() 方法。

import java.util.Scanner;

public class JavaExample {
  public static void main(String[] args) {
    System.out.println("Enter a number to convert it to a binary: ");
    Scanner scanner = new Scanner(System.in);
    int getIntNum = scanner.nextInt();

    String getConvertedResult = convertIntToBinary(getIntNum);
    System.out.println("Converted Binary: " + getConvertedResult);
  }

  static String convertIntToBinary(int numInt) {
    if (numInt == 0)
      return "0";

    StringBuilder stringBuilder = new StringBuilder();

    while (numInt > 0) {
      int remainder = numInt % 2;
      stringBuilder.append(remainder);
      numInt /= 2;
    }

    stringBuilder = stringBuilder.reverse();
    return stringBuilder.toString();
  }
}

輸出:

Enter a number to convert it to a binary: 
150
Converted Binary: 10010110
作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相關文章 - Java Integer

相關文章 - Java Binary