Größere gleitkomma Zahl als double und decimal

NSR

Mitglied
Sers Comunity,
ich stehe vor einem Problem Und zwar soll ich den Windows Taschenrechner 1:1 (nur standard nicht wissenschaftlich) nachbauen. Habe auch, bis auf ein paar kleinigkeiten alles geschaft.
Jetzt kommts aber!: und zwar kann der Calc mit 32 Zahlen umgehen. Der decimal kann nur 27-28 nachkommastellen bearbeiten und der double sogar nur noch weniger.
Kann mir einer von euch vielleicht helfen, wie ich des einfach hinbekommen kann.
ps. die zahl vor und nach dem Komma in eine Variable zu speichern geht zwar, aber (großes aber) dann muss man schon fast mathematik studiert haben um alle rechenoperationen richtig durchzuführen. (vor allem 1/x also 1 geteilt durch die angegebene Zahl).
Würde mich sehr über schnelle antworten freuen.
Grüße Nico
 
Bin selbst Anfänger in solchen Sachen aber, wir haben im Studium mal eine Klasse geschrieben, die die Zahl als String gespeichert hat und darauf Rechenoperationen wie Multiplikation, Division, Addition und Subtraktion ausgeführen konnte (waren extra dafür geschriebene Methoden).

Vielleicht ist das ja schon die Lösung ;)
 
Sers danke für die antwort,
aber hat jemand vielleicht noch eine andere (leichtere) lösung. Bin im ersten lehrjahr ohne studium mit realschulabschluss und keinem Vorwissen und da ist des noch ein bisschen zu schwierig.
Wäre toll wenn jemand etwas hätte.
Schoneinmal danke und schönen Tag noch.
Gruß Nico
 
Hi

Also entweder sprichst du mit deinem Ausbilder, dass er sich mit dem Wertebereich der gegeben Datentypen zufrieden gibt oder du musst wie von Zodiac empfohlen eine eigene Klasse schreiben, die dies beherrst (ggf. findet sich ja auch was im Netz).
Aber das solltest du mit deinem Ausbilder klären (Aufwand / Nutzen).
Der Lerneffekt ist mit einer eigenen Klasse natürlich unweit höher ;)
 
Servus,
Danke für die Antworten.
Werde es mit meinem Ausbilder besprechen.
Noch einen schönen Tag.
Grüße Nico
 
Zur Verarbeitung der "StringNumbers", ein schöner Namen wie ich finde ;)...

Probiers mal aus, und rechne damit wie du es in der Grundschule gelernt hast... das ganze ich wahrscheinlich um einiges langsamer als wenn du mit Decimal oder Double rechnest... wird aber funktionieren...

... wenn dein Ausbilder dies als "Lernaufgabe" vorgesehen hat, könnte ich mir sogar vorstellen, dass er sich der Wertebereichproblematik bewusst ist :)
 
Danke, werde es einmal probieren.
Aber eine Frage: Wo finde ich diese StringNumbers?.
ps.Mein ausbilder hat gemeint, dass ich einfach mit 28 statt 32 stellen arbeiten soll.
Vielleicht kommt des ja noch später mit ner größeren Zahl.
Grüße Nico
 
Zuletzt bearbeitet:
Wie wäre es wenn du dich an so einer Klasse erst einmal selbst versuchst?
Ich mein, Addieren / Subtrahieren und Multiplizieren / Dividieren kannst du bestimmt noch. Um einen Char als Integer zum Beispiel zu haben machst du folgendes:
Code:
Integer.parseInt("2");
Und um jede einzelne Stelle eines Strings rückwärts (Angefangen bei Einern) zu durchlafen reicht eine for oder while Schleife. Was hier passt wirst du noch rausfinden, hier ein Beispiel mit for:
Code:
for (int i = s.length() - 1; i >= 0; i--)
{
}

Was hälst von Internet und Google? Da habe ich etwas gefunden, dass dir als Vorlage sicherlich weiterhilft:
http://www.cs.uni-paderborn.de/file...re/WS0809/GP1/Assignments/Heim/Blatt9/ml9.pdf
 
Danke für eure Antworten,
der Link ist wirklich gut danke dafür.
Werde es mal probieren.
Danke euch und ciao
Grüße Nico
 
Zurück