Binärzahlen multiplizieren

gzm

Neues Mitglied
Hallo,

ich muss ein Programm schreiben, welches zwei positive Binärzahlen beliebiger Länge einliest, diese in der Binärrepräsentation multipliziert und das Produkt als Binärzahl ausgibt.

Ich bin leider noch sehr am Anfang und bekomme es nicht richtig hin. Kann mir jemand helfen wie ich das am besten machen könnte?

Mit freundlichen Grüßen

gzm
 
K

kneitzel

Gast
Was hast Du denn schon versucht? Wie sollte eine solche Multiplikation den ablaufen? Kannst Du den bisherigen Code einmal zeigen und uns sagen, wo Du Probleme hast?
 

gzm

Neues Mitglied
Also ich sollte so etwas schon mal machen, nur mit einer Addition. Hatte mir gedacht, ich änder diesen Code bisschen um. Hat aber nicht geklappt. Und dann habe ich erfahren, dass dieser Code zwar den Zweck erfüllt, aber nicht ganz den Anforderungen entspricht. Jetzt stehe ich voll auf dem Schlauch. Ich zeig dir mal wie mein Additions-Code aussieht:
Java:
import java.math.BigInteger;

public class addBinaer {

    public static void main(String args[]) {

        String s = "10101 0100";

        String[] parts = s.trim().split("\\s+");
        BigInteger sum = BigInteger.ZERO;

        for (String part : parts) {
            System.out.printf("+%30s\n", part);

            sum = sum.add(new BigInteger(part, 2));
        }

        System.out.printf("\n=%30s\n", sum.toString(2));
    }
}
Es erfüllt zwar den Zeck, aber da fehlt zb die Eingabe über die Konsole (was mir rein gar nichts sagt. Hatte das noch nie so im Unterricht)


und vielen Dank für deine Antwort. :)
 
Zuletzt bearbeitet von einem Moderator:
K

kneitzel

Gast
Also was sind denn die Anforderungen genau?

Ich wäre jetzt auch davon ausgegangen, dass es sich bei der Aufgabe darum drehen würde, die Binärzahlen zu per Code zu multiplizieren, indem man mehrere Zahlen addiert. Sozusagen ein "schriftliches Multiplizieren" per Code.

Ebenso stellt sich mir die Frage, wie Ihr Binärzahlen darstellen wollt und was Ihr da bisher so gewohnt seid. BigInteger kann durchaus gehen, wobei mir dies etwas suspekt ist. Man könnte so eine Zahl z.B. als ein Array von booleans auffassen. Dann hätte man so die ganzen 0 (false) und 1 (true) mit entsprechenden Stellen.

Man kann es aber auch einfach wirklich als Zahlen verwenden, d.h. statt die bits separat zu speichern, werden diese in Gruppen gespeichert (also sozusagen die Bytes einzelnd) oder gar als ganze Integer. Dann würde alles darauf hinaus laufen, dass man normale Integer-Zahlen verwendet und halt nur aus einem int result = zahl1 * zahl2; einen Aufruf mit Funktion macht: int result = multiplicate(int zahl1, int zahl2) und dort halt die Multiplikation über mehrere Additionen abbildet.

Aber das ist etwas, das Ihr bestimmt im Unterricht schon hattet und das du so genauer wissen müsstest. Ebenso ist halt wichtig, um was es bei dieser Aufgabe genau gehen soll. Für was soll euer Verständnis gestärkt werden? Was sollt ihr begriffen haben?
 

nomuri

Aktives Mitglied
Die Eingabe über die Konsole kannst du mit dem Scanner machen.

Java:
import java.util.Scanner;

Scanner scanner = new Scanner(System.in);

String s = scanner.next();

und bitte den code immer in [ CODE ] [ /CODE ] setzen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
B Spielereien mit bit wise Operatoren und langen Binärzahlen Java Basics - Anfänger-Themen 3
M Array Addition Binärzahlen Java Basics - Anfänger-Themen 9
T Binärzahlen Java Basics - Anfänger-Themen 2
Ö Binärzahlen Java Basics - Anfänger-Themen 11
R Binärzahlen addieren Java Basics - Anfänger-Themen 8
Binary.Coder Skalarprodukt mittels long und binärzahlen Java Basics - Anfänger-Themen 5
W Binärzahlen Java Basics - Anfänger-Themen 7
G Dezimalzahlen in Binärzahlen Java Basics - Anfänger-Themen 9
C binärzahlen addieren Java Basics - Anfänger-Themen 4
R in Binärzahlen umrechnen Java Basics - Anfänger-Themen 15
K Literal für Binärzahlen ? Java Basics - Anfänger-Themen 12
B Binärzahlen beliebiger länge Java Basics - Anfänger-Themen 9
AhmadSlack Verzweigungen zahlen multiplizieren Java Basics - Anfänger-Themen 4
D String mit int multiplizieren? Java Basics - Anfänger-Themen 16
T Java Integer multiplizieren Java Basics - Anfänger-Themen 6
E 2 Matrizen multiplizieren - Output fehlt... Java Basics - Anfänger-Themen 5
G Äthopisches multiplizieren Java Basics - Anfänger-Themen 10
F mehrere eingegebene Zahlen mit Zahlen von 1-9 multiplizieren Java Basics - Anfänger-Themen 18
E Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 7
E Gleitkomma zahlen mathemathisch korrekt multiplizieren Java Basics - Anfänger-Themen 5
O Matrix Multiplizieren Java Basics - Anfänger-Themen 4
J Arrays multiplizieren Java Basics - Anfänger-Themen 1
Z Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 13
L Array multiplizieren und ausgeben Java Basics - Anfänger-Themen 3
O Werte aus ArrayList multiplizieren und dann Ergebnis addieren Java Basics - Anfänger-Themen 3
H Matritzen multiplizieren Java Basics - Anfänger-Themen 10
M Datentypen Ausdehnungskoeffizienten multiplizieren Java Basics - Anfänger-Themen 2
Semox Matrix multiplizieren Java Basics - Anfänger-Themen 4
N Vektoren multiplizieren Java Basics - Anfänger-Themen 8
D Zwei Integer Arrays multiplizieren Java Basics - Anfänger-Themen 3
B Produkt ohne Multiplizieren? Java Basics - Anfänger-Themen 7
S [HILFE] Brüche addieren, multiplizieren, kürzen Java Basics - Anfänger-Themen 17
P Exponenten bei Potenzen multiplizieren Java Basics - Anfänger-Themen 4
G String aus Zahlen multiplizieren -> unendlich große ! Java Basics - Anfänger-Themen 13
M zwei zweidimensionale arrays multiplizieren Java Basics - Anfänger-Themen 2
H Genauigkeit beim Multiplizieren zweier Zahlen Java Basics - Anfänger-Themen 2
D Inhalte von Stacks miteinander multiplizieren Java Basics - Anfänger-Themen 4
G Zwei mehrdimensionale Arrays multiplizieren Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben