[英]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.