Suche Taschenrechnerprogramm mit einstellbarer (hoher) Genauigkeit

Hallo,

wie der Threadtitel schon sagt, suche ich einen Rechner der hochgenau ist und nicht ab "ein paar" Nachkommastellen rundet.
Idealerweise wäre, wenn die Genauigkeit mit der Eigenschaft unendlich einstellbar wäre. Nein, ich will nicht Pi ausrechnen. :)
Habe zwar gedacht sowas selber zu programmieren, aber es müsste doch schon was fertiges geben. Von den Rechenoperationen
braucht er nicht viel können. Es reicht Dividieren, Multiplizieren, Subtrahieren, Addieren und Quadratwurzelziehen. Mehr benötige ich
derzeit nicht. Er sollte mit sehr großen und sehr kleinen Werten rechnen können und das möglichst ohne zu runden. Der Rechner
kann ruhig mehrere Tage durchrechnen. OpenSource wäre wünschenswert.

Folgendes Rechnung will ich z.B.: mit hoher Genauigkeit ohne zu runden:

0.023716/89875517873681764 -> hier liefert bc z.b.: 0 -> Dieses Ergebnis kann ich nicht brauchen.

Für was ich das brauche:
Will ein wissenschaftliches Experiment nachstellen. Nur muss ich es vorher mal durchrechnen ob es mit meinen (bescheidenen) Mitteln
machbar ist. Kommt also auf das Endergebnis drauf an, ob ich das Experiment machen kann, oder nicht.

Vorweg vielen Dank!
 

CDW

Moderator
Mitarbeiter
C-style arbitrary precision calculator
http://www.isthe.com/chongo/tech/comp/calc/
https://github.com/lcn2/calc
https://packages.debian.org/buster/apcalc

Stammt noch aus dem letzten Jahrtausend, wird aber noch aktiv weitergepflegt.

Unendliche Genauigkeit bietet es afaik nicht, aber es operiert mit rationalen Zahlen, was ggf. schon ausreichend ist.

"Normalrechnung"
Code:
% calc
C-style arbitrary precision calculator (version 2.12.6.5)
Calc is open software. For license details type:  help copyright
[Type "exit" to exit, or "help" for help.]
; 0.023716/89875517873681764
	~0.00000000000000000026
; display(200)
	20
; 0.023716/89875517873681764
	~0.00000000000000000026387608729367614737440717606335404960964239216008207672841226403334541307966022247475677172040143271024923819444782381189139959067515382626453936390538613419830801276482815216840892

; printf("%f",0.023716/89875517873681764)
~0.00000000000000000026387608729367614737440717606335404960964239216008207672841226403334541307966022247475677172040143271024923819444782381189139959067515382626453936390538613419830801276482815216840892;
sehr große Zahl
Code:
 % echo "2**20000000"|time calc -p|wc -c                                        
 6020601
calc -p  257,83s user 0,01s system 99% cpu 4:18,42 total
wc -c  0,00s user 0,01s system 0% cpu 4:18,41 total
frac-modus
Code:
;config("mode", "frac")
	"fraction"
; x=1/11+1/3+1/7+1/13
; printf("%d \n %f", x,x)
1934/3003 
~0.64402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264402264

; sqrt(7)
	5291502622129181181/2000000000000000000
; eps=1e-200
; sqrt(7,eps)
	52915026221291811810032315072785208514205183661649003607366689184021376464605672555207857729490872212301291566769949261914870597772544295688547811117602154454343014594566477845993791897301745214019561/20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

; base(10)
; sqrt(7,eps)
	2.64575131106459059050161575363926042571025918308245018036833445920106882323028362776039288647454361061506457833849746309574352988862721478442739055588010772271715072972832389229968959486508726070097805

;base(1/3) /*das gleiche wie config("mode","frac")*/

; 1/3+1/3+1/4
	11/12
; sqrt(7)*sqrt(7)
	27999999999999999999965800941524554761/4000000000000000000000000000000000000
; eps=1e-200
; printf("%f",sqrt(7,eps)*sqrt(7,eps))
~6.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999998;

Kann eigentlich noch viel mehr (u.a. kann man auch Scripte schreiben).
Siehe auch die eingebaute Hilfe
Code:
; help builtin
Builtin functions

        There is a large number of built-in functions.
[...]
help config

NAME
    config - configuration parameters

SYNOPSIS
    config(parameter [,value])

TYPES
    parameter   string
    value       int, string, config state

    return      config state

DESCRIPTION
[...]

    The following parameters can be specified:

            "all"               all configuration values listed below

            "trace"             turns tracing features on or off
            "display"           sets number of digits in prints.
            "epsilon"           sets error value for transcendentals.
            "maxprint"          sets maximum number of elements printed.

alternativ könnte man octave https://www.gnu.org/software/octave/ oder SAGE http://www.sagemath.org/ anschauen.

PS:
zum bc
Code:
 % bc <<< "scale=80; 0.023716/89875517873681764" 
.0000000000000000002638760872936761473744071760633540496096423921600\
8207672841226
 % bc <<< "scale=8000; 0.023716/89875517873681764"                              
.0000000000000000002638760872936761473744071760633540496096423921600\
82076728412264033345413079660222474756771720401432710249238194447823\
81189139959067515382626453936390538613419830801276482815216840892115\
97421874949494848991388048697293933848862686914238705330487403035284\
48950511954181390324216056810737273071495601214132932475879919822662\
54109178169091599980868656935039445243846598064906753829892080825372\
39696610666797881872666282787839748066176144057425980928598738217789\
57161055764379618174262595094321365837323224659259629533254845537071\
12349210935202689361152989655723737574867383059579870927947388261239\
25300733008975640765717479464153088722982863936747357948111540605151\
55351299468173770182080606098646585516112170500296186951920007996980\
35924849359206937751621645571451976588363314260456913132835148955079\
95508635558757466817038178963895345909122524154466331521556053998978\
41719556708938485452457419103454658767709066238916620302617916791405\
65766847811255009432025679536187438115377486314945617842425908263308\
88788333884474017870648442051291291317701639743697351560536669919374\
92207310229220500008243504266415520602530297578182351356584856731462\
80043282873374142847372886268006379975503330676228246530338097579425\
67819001523375994781072287399670481262888545180892679715700378016182\
93043426361365468729355023702954212869130436148329688048837065292456\
83946055222810278711316928036864361511169806190794518864225550960359\
36175011197712774259340846070073745759320663433949462892955995711598\
10398992790491568854953498578225338322166140364934826298602957848943\
18939959665266319742686678925268115645667201555430055418855898242412\
55782444619332966782809884452083377448250131522859627921539454990014\
19228248554165872387314456995582167159023207505573910073776225558355\
53205122651832229100955939391421590222682096911464250705483692746877\
47106560828559729334637753411211434797040180247874995168691123852188\
37007277064758956471145002431427673188527877399931502035778128789086\
94708183244302416617894077870121048441693854222073207048146746449735\
77877648378328269184258694256301446030267447769175434520715375050080\
61966780091920275239039924318767226170759624489768065042694964220695\
70232064082022786733536019586384715319399514965896756330769391702695\
07745899699438176103374008886775578315173824985938991813060128893434\
55293076902997836823583368491638560645645054644768827756306282985367\
02222320850556664938146309577094075114965452266699960842192204053330\
66997142403291059144989041239981325379016938682005160831796895559131\
87123222779829134516732717507791046712748640595851775691195295506162\
allerdings bleibt die Berechnung ungenau:
Code:
% bc <<< "scale=80; 1/3+1/3+1/3"               
.9999999999999999999999999999999999999999999999999999999999999999999\
9999999999999
 
Zuletzt bearbeitet:
Sehr schön! Vielen Dank! Werde ich mir anschauen.

Erspart mir einiges an Arbeit, die nicht unbedingt sein muss.
Gut, unendliche Genauigkeit war vielleicht "etwas" übertrieben. Brauche ich auch nicht wirklich.

Zu bc: Ach, so hat das funktioniert (scale). Hatte ich vergessen.

Hab das Experiment vorerst grob mit meinen TI-nspire CX CAS ausgerechnet. Ist mir aber zu ungenau.
Will es deswegen mit so einem Programm nachrechnen. Bin schon gespannt wie sich die Ergebnisse unterscheiden.
 
Zuletzt bearbeitet:
Oben