# neuer datentyp -> größer als long



## TheMaxx32000 (25. April 2006)

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!


----------



## flashray (26. April 2006)

Hallo Max,

Die Klasse Biginteger könnte dir weiterhelfen:
http://www.galileocomputing.de/open...sel05_004.htm#Rxx747java050040400019E1F01E100


Vg Erdal


----------



## TheMaxx32000 (26. April 2006)

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


----------



## flashray (26. April 2006)

Hallo Max,

Vorschlag:


```
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


----------



## TheMaxx32000 (26. April 2006)

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


----------

