簡體   English   中英

將二進制轉換為二進制字符串:前導零

[英]Converting binary to Binary String: leading zero

我總是在生成的二進制文件前面得到0。

  public static String convertToBinaryString(int testSubject){


    if(testSubject == 0){
      return binaryString = "0"; 
    }

    else{
      return convertToBinary(testSubject / 2) + "" + testSubject % 2;
    }

  }

如何擺脫前導零?

解決此問題的一種方法是在testSubject < 2立即停止testSubject < 2

if (testSubject < 2) {
    return "" + testSubject % 2;
} else {
    return convertToBinary(testSubject / 2) + "" + testSubject % 2;
}

您可以使用內置功能

   int x = 50;
    String s = Integer.toBinaryString(x);
    return s;

https://www.geeksforgeeks.org/java-lang-integer-tobinarystring-method/

還有其他更簡單的方法。 您的程序具有遞歸開銷,可以使用簡單循環來避免。

public static String convertToBinary(int testSubject) {
    // Method 1
    //   return Integer.toBinaryString(testSubject);

    // Method 2
    String str = "";
    while(testSubject!=0) {
      str = testSubject%2 + str;
      testSubject/=2;
    }
    return str;
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM