![]() |
Extended erweitern?
Hi!
Mit dem Typ Extended kann man es schaffen, eine Zahl mit bis zu 19/20 Nachkommastellen anzeigen zu lassen. Wie ist es möglich dies zu erweitern (ins Unendliche)? Ich weis das dies nicht geht da irgendwann jeder Rechner an den Rand seiner Möglichkeiten kommt. Aber wie kann man es schaffen, dass z.B. 1.000.000 oder 1.000.000.000 Nachkommastellen angezeigt werden können? MfG Cruso |
Re: Extended erweitern?
|
Re: Extended erweitern?
Zitat:
|
Re: Extended erweitern?
Zitat:
|
Re: Extended erweitern?
Mir geht es eigentlich eher um das "WIE"! :oops:
Bin mir nicht sicher, deshalb frag ich: Ist es mit C++ möglicherweise einfacher umzusetzen? |
Re: Extended erweitern?
Um mit bieliebig grossen Zahlen zu rechnen, benötigt man nur ein bisserl Gehirnschmalz und eine Erinnerung, wie man das selbst 'schriftlich' ausrechnet.
Deine Zahl sei ein Array of Byte. In jedem Array-Element ist eine Dezimalziffer. Addieren geht so (ähnlich):
Delphi-Quellcode:
Der o.g. Code geht der Einfachheit halber davon aus, das A und B gleich groß dimensioniert sind.
Function BigAdd (A,B : TByteArray) : TByteArray;
Var i : Integer; Begin For i:= 0 to Length (A) - 1 Do Begin OverFlow := (A[i] + B[i] + OverFlow); Result [i] := OVerFlow mod 10; OverFlow := OverFlow Div 10; End; If OverFlow<>0 Then Raise Exception.Create ('Overflow error'); End; Differenz bilden geht genauso. Multiplizieren und Dividieren sind auch relativ simpel zu implementieren, eben wie man es schriftlich auch macht. @cruso: C++ und Delphi sind zu 99% identisch, nur C++ verwendet mehr Sonderzeichen. Ob die Sprachunterschiede nun 1% oder 5% ergeben, ist irrelevant. In dem Fall hier kannst du das auch mit Basic, Fortran, Cobol, PL/1, Algol oder sonst irgendwelchen archaischen Sprachen implementieren. Ich habe so eine Geschichte mal aus Spass auf einem HP-85 programmiert, das ist fast 30 Jahre her. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz