Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-05-2007, 18:30   #1
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
[C++] Lavorare su interi infiniti

il mio problema è questo: ho bisogno di creare un programma, una sorta di calcolatrice, che possa lavorare su interi infiniti...
la mia idea è quella di concatenare + interi (4 byte sono no?) in modo tale da non essere limitato nelle cifre...

qualcuno può aiutarmi nella realizzazione?? qualche idea?
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2007, 19:02   #2
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
infinito per modo di dire..ma dico che mi servirebbe lavorare ad esempio con un intero che abbia tipo 300 cifre...e dato che un int mi sembra ne possa contenere solo 16 o 32 (adesso non ricordo) dovrei riuscire a concatenarli e lavorare sui riporti no?
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2007, 19:29   #3
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16213
Ci sono librerie C e C++ per gli interi di grandezza arbitraria; ma non mi ricordo come si chiamano...
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2007, 19:31   #4
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
A che scopo ti serve lavorare con numeri così grandi?

Comunque 300 cifre sono tante, sicuramente dovrai dividire i calcoli per numeri più piccoli.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2007, 19:31   #5
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
uhm...c'è qualcuno che può aiutarmi a trovare quelle librerie?? e per grandezza arbitraria cosa intendi??
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2007, 19:35   #6
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
Quote:
Originariamente inviato da MEMon Guarda i messaggi
A che scopo ti serve lavorare con numeri così grandi?

Comunque 300 cifre sono tante, sicuramente dovrai dividire i calcoli per numeri più piccoli.
ma è per dire...possono bastare anche 80-90 cifre..però è x trovare un modo che concateni in modo infinito gli interi, lavorando sui riporti penso..qualcuno ha altre idee??
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2007, 20:20   #7
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Ma è per fare calcoli simili ai limiti o robe così?
Che ci posso fare sn curioso
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2007, 20:29   #8
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
è una sfida che mi hanno fatto..tutto qui..niente di che..non so a cosa potrebbe servire XD
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2007, 20:32   #9
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Capisco, comunque considerando i long(4 byte=32 bit) li puoi pensare invece che un numero singolo come una parte di numero, in quel modo non hai limiti di grandezza...teoricamente.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2007, 20:37   #10
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
si..ma come faccio??
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2007, 20:40   #11
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Ti devi studiare un buon sistema, ma il linea di massima potresti fare una cosa del tipo:

N=8749827489237426748236874 3724523462364326546327634

N1=8749827489237426748236874
N2=3724523462364326546327634

In pratica invece di considerare un unico grande numero, lo consideri come formato da più numeri piccoli.
Però i calcoli, i riporti ecc ecc te li devi gestire te...
Se non ti interessano i numeri con la virgola non è nemmeno tanto complicato, ma comunque bisogna studiarsi un po' la cosa.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2007, 20:50   #12
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
Quote:
Originariamente inviato da Goten_ssj Guarda i messaggi
infinito per modo di dire..ma dico che mi servirebbe lavorare ad esempio con un intero che abbia tipo 300 cifre...e dato che un int mi sembra ne possa contenere solo 16 o 32 (adesso non ricordo) dovrei riuscire a concatenarli e lavorare sui riporti no?
è esattamente la prima cosa che ho scritto...mi servono idee per realizzare la concatenazione e i riporti..
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2007, 02:12   #13
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
qualcuno può aiutarmi?
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2007, 09:26   #14
Energy++
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 1059
http://www.hwupgrade.it/forum/showpo...4&postcount=29
Energy++ è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2007, 13:42   #15
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
grazie per la segnalazione, il problema è che a me occorre lavorare in c++ (e non in c) e il numero di cifre non dovrebbe essere solo limitato a 20, ma dovrebbe lavorare in modo illimitato, quindi penso occorrerà utilizzare dei puntatori...

se c'è qualcuno di animo buono che può darmi qualche spunto e consigliarmi qualche libreria che contenga funzioni utili mi farebbe un grande favore..
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2007, 13:59   #16
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
ecco qua
http://gmplib.org/
lovaz è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2007, 14:12   #17
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
ehm..dato che sono un po' niubbo, puoi spiegarmi come usare quella libreria??
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2007, 16:55   #18
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
se volete vi posto l'interfaccia del programma che penso di fare..

c'è una memo per inserire il numero, 4 bottoni per gli operatori (+,-,*,/) e il bottone di visualizza risultato (=)

Ultima modifica di Goten_ssj : 13-05-2007 alle 17:15.
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2007, 20:43   #19
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Guarda, per fare una cosa basilare non vedo troppe difficoltà da affrontare.
Soluzione nr. 1: usi una libreria come quella che ti è stata suggerita.
Soluzione nr. 2: te lo fai te.
Per fartelo te hai diverse possibilità. Puoi tenerti il numero memorizzando le singole cifre in un array o in una lista o in una stringa ad esempio.
Poi per le operazioni elementari (somma e moltiplicazione) fai come facevi alle elementari. Te le ricordi ancora le operazioni in colonna? bene... ad un livello base si fa cosi.

Se però ti interessano le performance, per moltiplicare due numeri grandi ci sono algoritmi più efficenti, tipo quello di Karatsuba. Ma qui si che ci dovrai sbattere la testa un pò di più...

Io mi terrei le cifre in un array o in una lista e poi a mano ti gestisci le operazioni di somma e moltiplicazione con il metodo che ti insegnano alle elementari.
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2007, 20:57   #20
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
si..pensavo di farmelo da me..non ho ancora ben capito bene come memorizzare e dividere i numeri di 40-50 cifre ad esempio per poi poterli usare per fare i calcoli
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
Sembra ormai certo: la prossima Xbox sar...
“Solutions Beyond Displays”: la strategi...
La società europea The Exploratio...
Dalle auto ai robot umanoidi: Faraday Fu...
Vodafone annuncia la dismissione di un s...
Stiga lancia i nuovi robot tagliaerba co...
Bullismo e cyberbullismo, Keenetic lanci...
Con AI Skills Checker Bitdefender mette ...
E-bike giapponese con 1.000 km di autono...
Un eVTOL con cui basta saper andare in b...
Dal mercato cinese al mondo: HONOR firma...
Sovranità digitale: l'UE sperimen...
Accesso alla memoria su Windows 11 solo ...
iPhone 18 Pro Max con batteria da oltre ...
Windows 11, cali di prestazioni sulle GP...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 06:08.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v