BigInteger zusammensetzen

rubenranjo

Mitglied
Hallo, ich suche nach einer Möglichkeit BigInteger-Zahlen zusammenzusetzen.

Beispiel:

BigInteger("1234") und BigInteger("5678") = BigInteger("12345678") mit dieser Zahl wird auch gerechnet ....Leider brachte mich Google nicht sonderlich weiter....hoffe hier hat jemand ne Idee
 
Ja mathematisch ist dass nicht zu lösen da eine Schleife immer 1 mehr durchgehen soll und sowieso bei so riesigen Zahlen könnte das zum Problem werde:

Beispiel:

56789
56789...1
56789...2
56789...0
56789...01


aber vielen Dank für deine Antwort
 
Also du kannst die BigInteger (1) nehmen und die Anzahl Stellen der zweiten Stellen also:

1234
5678 (4 Stellen)

1234*10=1 Stelle
1234*10000=4 Stellen

=12340000
+5678
12345678
 
warum nicht mit strings?

Java:
        BigInteger a =new BigInteger("1234");
        BigInteger b =new BigInteger("5678");
        BigInteger c = new BigInteger(a.intValue()+""+b.intValue());
        System.out.println(c);
 
@Aradauer: Wenn es keinen Grund gäbe, anzunehmen, dass die Zahlen, um die es geht, größer als int (und größer als long) sind, spräche da nichts dagegen - aber selbst wenn man nicht intValue sondern toString nehmen würde, könnte es (je nach Zusammenhang) sein, dass das Erstellen des Strings und das Parsen schlicht ineffizient ist.
@rubenranjo: Die mathematische Lösung funktioniert für das, was du beschrieben hast. Wenn sie für das, was du eigentlich willst, nicht funktioniert, gibt es dafür erstmal nur einen nahe liegenen Grund.
 
Ic würde nicht mit Zahlen operieren sondern mit Strings oder gar Charakterfeldern. Man muss dann für diese Strings eine eigene Arithmetik schreiben - es geht m.E. nicht anders, wenn man wirklich beliebig große Zahlen verarbeiten will/muss. Die Arithmetik funktioniert dann so, wie man schriftlich rechnet.
 

Neue Themen


Zurück
Oben