Ich benutze gmp mpf_t zu versuchen und sehr hohe Präzision zu erhalten.Gmp mpf_pow_ui Funktion
Mein Bereich der Genauigkeit reicht von negativen Billionen bis zu positiven Billionen, sowie 1 über diesen Zahlen. Allerdings unterstützt mpf keine Potenzfunktion, die negative Exponenten zulässt, gibt es eine Möglichkeit dies zu umgehen, wenn ich meinen Wert auf 10^-30 erhöhen möchte?
http://gmplib.org/manual/Float-Arithmetic.html#Float-Arithmetic
meine gdp ausgegeben, wenn ich versuche, mpf_pow_ui zu verwenden, wenn mein exp negativ ist:
(gdb) p exp_multiplier
$9 = {{_mp_prec = 2, _mp_size = 3, _mp_exp = 957480584338323631, _mp_d = 0x605070}}
einen segfault Dies führte schließlich verursacht.
Divide ist eine teure Funktion zu bezahlen, und eine reziproke Funktion kann genauso schlimm sein, wissen Sie, ob mpf nativ eine Power-Funktion für vorzeichenbehaftete Ganzzahlen unterstützt? – Jim
Der schnellste Weg, um auf eine negative Kraft zu erhöhen *** ist ***, das Gegenseitige zu nehmen. Die Teilung ist unvermeidlich. Integer powering wird mit der [binary squaring method] (http://en.wikipedia.org/wiki/Exponentiation_by_squaring) implementiert - die nur einen positiven Exponenten benötigt. – Mysticial
Ich hatte gehofft, dass sie Schichten machen würden. Aber wenn das der einzige Weg ist, denke ich, ich bleibe dabei. Vielen Dank. – Jim