Ich versuche zu lernen, wie die GMP-Bibliothek in C verwenden, indem nur ein einfaches Programm zu schreiben es beschwert sich einige Gleitkommazahlen zusammen, aber zur Laufzeit hinzuzufügen:Wie man einen Fließkommawert unter Verwendung der GMP-Bibliothek in C zuweist?
GNU MP: Cannot allocate memory (size=140735132293330)
Aborted (core dumped)
Hier ist der Code:
#include <gmp.h>
#include <stdio.h>
int main(){
mpf_set_default_prec(64);
mpf_t sum;
mpf_init(sum);
mpf_set_ui(sum,0);
unsigned int i = 0;
while (i < 4) {
mpf_add_ui(sum,sum,i);
i++;
}
mpf_out_str(stdout,10,sum);
printf ("\n");
mpf_clear(sum);
}
Ich konnte dies mit nur den GMP-MPZ-Funktionen ohne Problem tun, aber wenn ich dies mit Floats versuche, stecke ich fest. Die Dokumentation zeigt keine wirklichen Beispiele für Float-Funktionen, daher initialisiere ich die Werte oder weise sie falsch zu.
* Verwenden Sie immer Ihren Compiler im strengen Standardkonformitätsmodus und aktivieren Sie alle verfügbaren Warnungen. Buchen Sie nicht auf Stack Overflow, bis Sie alle Warnungen adressiert haben. 99% der Programmierprobleme können mit vorhandenen Tools vollständig automatisch diagnostiziert werden. –