所以我做了一个 8 位二进制计算器,但我有点用以下方法作弊。
public static int[] convertToBinary(int b){
String toStr = Integer.toBinaryString(b);
String fStr = ("00000000"+toStr).substring(toStr.length());
String[] array = fStr.split("");
int[] finalArray = new int[array.length-1];
for(int i = 0; i < finalArray.length; i++){
finalArray[i] = Integer.parseInt(array[i+1]);
}
return finalArray;
}
public static int[] addBin(int a[], int b[]){
int[] added = new int[a.length];
for(int i = added.length - 1; i >= 0; i--){
if((a[i]+b[i] > 1)){
System.out.println("Error: overflow");
break;
}else{
added[i] = (a[i]+b[i]);
}
}
return added;
}
我的问题是如何将 int 转换为二进制以及如何添加两个二进制数。