11/10/07 14:45
Dami91
Salve a tutti! Ho fatto un prog k trova i numeri primi xò le variabili double perdono precisione e si arrotondano dopo i numeri dell'ordine di 10^15 e quindi nn riesco ad andare oltre questo limite nella "ricerca". Volevo kiedere se esiste un modo di creare variabili di "lunghezza" arbitraria, cioè dv sn io a decidere qual'è il limite max di calcolo. Qualcuno sa aiutarmi??? Thank
aaa
11/10/07 18:19
Dami91
ma cm esitono i tipi standard d variabili ke occupano un certo numero di bit (mi sembra 32 nei long, 64 nei double) non esiste una qualke funzione ke mi permette di impostare la grandezza di un nuovo tipo di variabile, per esempio, a 256 o 512 bit o più???
aaa
11/10/07 18:30
netarrow
no non c'è, nello standard almeno.
Potresti creare tu qualcosa che occupa tot bit in memoria e poi le operazioni le svolgi direttamente in binario, o senza inventarti tu qualcosa ti trovi una clase apposita che permette di memorizzare numeri infinitamente grandi, con unico limite computazionale spaziale la ram e temporale il tempo che ci mette il processore a calcolare le operazioni (più grande sarà il numero + tempo impiegherà
Java ad esempio ha BigInteger nella core standard e se cerchi in internet ci sono dei porting per C++ di una classe simile, ne dovresti trovare una versione anche qui sul sito fatta da Zani88.
Nello standard C++ supporta i numeri complessi ma dovresti gestire proprio tu la parte reale e la parte immaginaria e non avendo mai studiato in matematica queste cose non saprei dirti come usarla e se può effetivamente esserti utile(ma indubbiamente è più comoda una classe stile BigInteger); per più info cmq cerca l'header complex
Ultima modifica effettuata da netarrow 11/10/07 18:31
aaa