neuer datentyp -> größer als long

TheMaxx32000

Grünschnabel
Hallo, ich hoffe mir kann jemand helfen. Ich soll in einem Java-Programm unter anderem einen Datentyp entwickeln, der von

+10 000 000 000 000 000 000 000 000 bis - 10 000 000 000 000 000 000 000 000

reicht. Wie stelle ich das am besten an?

long reicht ja "nur" von

-9 223 372 036 854 755 807 bis +9 223 372 036 854 755 807

Danke für eure Hilfe!
 
BigInteger ist nicht erlaubt, wie gesagt, es soll ein neuer Datentyp erstellt werden.
Dachte auch schon an ein Array mit Länge-der-Zahl Elementen. Addieren und Subtrahieren zweier so gespeicherten Zahlen ginge ja noch, abe multiplizieren würde schwierig werden.

Auch hab ich im moment keine Ahnung wie ich z.b. zwei longs so "missbrauche" das ich sage

long "high""long low" ich addiere eine zahl zu "long low" die größer als ein long ist, also addiere ich zu "long low" bis dieser "überläuft", erhöhe "long high" um 1 und dann addiere ich wieder zu low

Der Überlauf ist hier mein Problem (wie realisieren?)!

Aber schonmal Danke!
Max
 
Hallo Max,

Vorschlag:

Java:
public class Longer {

	private int[] longerAsArray;

	public Longer(String longerAsString) {
		//1. Hier die Länge, des Strings überprüfen, 
		// prüfen ob jedes char auf wirklich eine Ziffer ist
		//falls es den Bedingungen nicht entspricht eine Exception werfen
		
		//Falls alles Ok ist mit einer Schleife den String
		// durchlaufen und jede Ziffer als int in longerAsArray speichern
	}

	// Hier dann jeweils, wie in der Mittelstufe
	// Ziffernweise addieren subtrahieren etc.
	// und dann wieder das Ergebnis per String rückgeben
	
	public String add(String longerAsString) {

		return null;
	}

	public String subtract(String longerAsString) {

		return null;
	}

	public String multiply(String longerAsString) {

		return null;
	}
	
	public String divide (String longerAsString) {
		return null;
	}

	public static void main(String[] args) {
	}

}


Vg Erdal
 
klingt gut, sowas ähnliches hab ich auch schon in erwähgung gezogen. Werde das mal umsetzen und mich dann eventuell nochmal melden! DANKE VIELMALS! ;)

Gruß,
Max
 
Zurück