Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > de.comp.lang.c > #10482
| From | "Walter H." <Walter.H-Nntp@mathemainzel.info> |
|---|---|
| Newsgroups | de.comp.lang.c |
| Subject | Re: Berechnen von Zahlen mit Hilfe großer int-Arrays |
| Date | 2023-04-08 06:36 +0200 |
| Organization | Waldi's NNTP Home |
| Message-ID | <k9c9amFl24qU1@mid.individual.net> (permalink) |
| References | <k9b715Fg2nrU1@mid.individual.net> <u0prqp$31gi9$1@solani.org> |
On 07.04.2023 21:44, Helmut Schellong wrote:
> On 04/07/2023 20:51, Walter H. wrote:
>> Hallo,
>>
>> gibt ja die eine od. andere lange Zahl, welche so berechnet wird;
>> die bekannteste ist Pi, bereits auf Mrd. von Stellen
>>
>> ich würd geren eine andere Zahl berechnen: die Basis des nat. Logarithmus
>> e = 2.71828182...
>>
>> gibt es hier etwas besseres (schnelleres) als das
>>
>> e = 1 + 1/1! + 1/2! + ...
>>
>
> Ich meine, schneller geht es generell bei Reihen nur durch vorherige
> Berechnung von Konstanten - Teilresultate.
wie soll das schneller gehen ...
ob man vorher sich der Reihe nach die 1/n! bestimmt und diese dann alle
aufsummiert, oder ob man jeder Addition von 1/n! das nächste 1/(n+1)!
[mit Hilfe von 1/n!] bestimmt macht ja keinen Unterschied;
> Die Vorberechnung von Fakultäten! geht auch fortlaufend, indem mit 2 3 4
> 5 ... multipliziert wird.
soweit bin ich ...
static BOOL goon;
static long div = 1L, tmp = 1L;
unsigned long long* e = (unsigned long long*) calloc( blknum, sizeof(
unsigned long long ) );
unsigned long long* help = (unsigned long long*) calloc( blknum, sizeof(
unsigned long long ) );
clrlngnum( e, blknum );
clrlngnum( help, blknum );
*e = ( *help = 1ULL ) + 1ULL;
goon = division( help, (signed long long) ++div, blknum );
while ( goon )
{
addition( e, help, blknum );
goon = division( help, (signed long long) ++div, blknum ) );
}
free( (void*) help );
clrlngnum verwendet ein Intrinsic
inline void __cdecl clrlngnum( unsigned long long* lngnum, unsigned long
blknum )
{
__stosq( (unsigned __int64*) lngnum, (unsigned __int64) 0ui64, blknum );
}
und addition bzw. division sind in Assembler ausgelagerte Fkt.en, weil
der Optimizer hier noch zuviel Unfug reinpfuscht
#ifdef __cplusplus
extern "C" {
#endif
void __fastcall addition( unsigned long long* dstnum, const unsigned
long long* srcnum, unsigned long blknum );
int __fastcall division( unsigned long long* dstone, signed long long
srctwo, unsigned long blknum );
#ifdef __cplusplus
}
#endif
so lange blknum eine gewisse Größenordnung nicht übersteigt, passt
alles, aber ab einer gewissen Größenordnung hätt ma des dann doch gerne
beschleunigt;
Back to de.comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar
Berechnen von Zahlen mit Hilfe großer int-Arrays "Walter H." <Walter.H-Nntp@mathemainzel.info> - 2023-04-07 20:51 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Helmut Schellong <rip@schellong.biz> - 2023-04-07 21:44 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays "Walter H." <Walter.H-Nntp@mathemainzel.info> - 2023-04-08 06:36 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Helmut Schellong <rip@schellong.biz> - 2023-04-08 17:41 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays "Walter H." <Walter.H-Nntp@mathemainzel.info> - 2023-04-08 19:37 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Helmut Schellong <rip@schellong.biz> - 2023-04-08 22:19 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Claus Reibenstein <creibens@gmail.com> - 2023-04-09 16:31 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Helmut Schellong <rip@schellong.biz> - 2023-04-09 19:45 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Bonita Montero <Bonita.Montero@gmail.com> - 2023-04-09 16:45 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Helmut Schellong <rip@schellong.biz> - 2023-04-09 19:43 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Bonita Montero <Bonita.Montero@gmail.com> - 2023-04-09 20:07 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Helmut Schellong <rip@schellong.biz> - 2023-04-09 23:55 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Bonita Montero <Bonita.Montero@gmail.com> - 2023-04-10 04:47 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Helmut Schellong <rip@schellong.biz> - 2023-04-10 13:04 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Bonita Montero <Bonita.Montero@gmail.com> - 2023-04-10 13:31 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Helmut Schellong <rip@schellong.biz> - 2023-04-10 14:56 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Bonita Montero <Bonita.Montero@gmail.com> - 2023-04-10 15:21 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Helmut Schellong <rip@schellong.biz> - 2023-04-10 16:32 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Bonita Montero <Bonita.Montero@gmail.com> - 2023-04-10 18:00 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Bonita Montero <Bonita.Montero@gmail.com> - 2023-04-11 19:46 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Thomas Noll <-_tn_-@web.de> - 2023-04-08 22:48 +0000
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays "Walter H." <Walter.H-Nntp@mathemainzel.info> - 2023-04-09 09:50 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Claus Reibenstein <creibens@gmail.com> - 2023-04-09 16:34 +0200
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Thomas Koenig <tkoenig@netcologne.de> - 2023-04-09 18:30 +0000
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Thomas Koenig <tkoenig@netcologne.de> - 2023-04-07 20:54 +0000
Re: Berechnen von Zahlen mit Hilfe großer int-Arrays Bonita Montero <Bonita.Montero@gmail.com> - 2023-04-09 17:24 +0200
csiph-web