Ich bin mit Java herum und bin mir nicht sicher, warum das Endergebnis in binary eine zusätzliche Zahl hinzufügt, als gewünscht. Ich möchte 8-Bit drucken, nicht mehr oder weniger. Ich habe verschiedene Methoden ausprobiert, aber immer noch kein Glück. Hier ist, was ich bisher habe.Hinzufügen von Binärzahlen in Java ohne Verwendung der integrierten Methode?
Was mache ich falsch?
public static void main(String[] args) {
Scanner sn = new Scanner(System.in);
int i,m,n,sum,carry=0;
System.out.println("Enter your first binary number: ");
int n1 = sn.nextInt();
System.out.println("Enter your second binary number: ");
int n2 = sn.nextInt();
for (i=arr.length-1;i>=0;i--){
m=n1%10;
n=n2%10;
n1=n1/10;
n2=n2/10;
sum=m+n+carry;
if (sum==1) {
arr[i]=1;
carry=0;
}
else if(sum==2) {
arr[i]=0;
carry=1;
}
else if(sum==3) {
arr[i]=1;
carry=1;
}
else {
arr[i]=m+n+carry;
}
}
for(i=0;i<arr.length;i++){
System.out.print(arr[i]);
}
}
was 'arr' ist - wie sieht Ihr' for' Schleife noch arbeiten? –
sollte es nicht 'sonst sein {arr [i] = 0; carry = 0;} ' – maraca
In jeder Sprache, in der ich binary benutze ich immer einen Filter, um die Bitbreite zu begrenzen. – Sparky256