Torna indietro   Hardware Upgrade Forum > Software > Programmazione

CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale
La prima tappa italiana della Road to CES porta a Milano i vertici della Consumer Technology Association, con una nuova griglia di lettura dei trend tecnologici e una posizione netta su dazi e regolamentazione dell'IA
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
OPPO ha appena lanciato sul mercato la nuova serie Find X10, che ha come smartphone premium il Find X10 Pro Max, uno smartphone completo, che fa del comparto fotografico il suo vero punto di forza. Ma sono tante le novità, tra cui l'AI che adesso diventa agentica. Ma andiamo a vedere nel dettaglio questo nuovo smartphone.
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
Abbiamo provato la beta di World of Warcraft: Forever, il Classic+ di Blizzard in arrivo il 4 novembre: la nuova razza Skyborne restituisce la sensazione di un gioco nuovo, ma le zone storiche conservano la noia divertita di Classic. Classi ribilanciate, sciamani anche nell'Alleanza e un motore grafico che in 4K gira bene anche su una RTX 3070. Cosa cambia in Forever? La risposta nell'articolo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-01-2005, 21:17   #1
Jonny32
Senior Member
 
L'Avatar di Jonny32
 
Iscritto dal: Jan 2003
Città: Lucca
Messaggi: 2165
[C++] Numeri grassi grassi

Avevo in mente di fare dei programmi di calcolo matematico (tipo calcolo del Pi greco o roba del genere...) e quindi mi interessava di poter lavorare con numeri con molte cifre (long double nn mi basta).
Avete mai fatto cose del genere? (se si datemi qualche consiglio... )

Io avevo in mente di gestire i numeri come dei vettori (di tipo int) grandi a piacere... in questo modo però dovrei ridefinire le operazioni (somma, moltiplicazione, radice quadrata, ecc...)?

Voi avete qualche idea?
__________________
Intel G1820T | Asus H87-Pro | 8Gb DDR3 1333Mhz | Crucial M4 64Gb | WD Green 2Tb | Xonar Essence ST
My pictures on 500px
Jonny32 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2005, 08:13   #2
RBlade79
Member
 
L'Avatar di RBlade79
 
Iscritto dal: Dec 2004
Città: Alessandria
Messaggi: 97
Prova ad usare le librerie MIRACL...sono state create per definire e gestire numeri molto grandi (vengono usate per giocare con gli algoritmi crittografici...).
Prova a dare un'occhiata QUI
__________________
Se fosse cane...bau
Se fosse gatto...miao
Se fosse tardi...ciao
RBlade79 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2005, 18:27   #3
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Da quel poco che ne so, mi sembra che però il C++ non sia il linguaggio più indicato per fare quello che vorresti; se non erro c'è il fortran che più si adatta allo scopo. O devi operare per forza di cose in C++ ?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2005, 14:46   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Re: [C++] Numeri grassi grassi

Quote:
Originariamente inviato da Jonny32
Io avevo in mente di gestire i numeri come dei vettori (di tipo int) grandi a piacere... in questo modo però dovrei ridefinire le operazioni (somma, moltiplicazione, radice quadrata, ecc...)?
Ovvio che dovresti ridefinirti le operazioni...non è difficile comunque da fare... In teoria, se dovessi lavorare sugli interi (anche se si può generalizzare a numeri in virgola fissa) potresti fare operazioni definendo ogni cifra come un intero 2^32... Non è complesso... Ti cerco qualcosa...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2005, 16:24   #5
Jonny32
Senior Member
 
L'Avatar di Jonny32
 
Iscritto dal: Jan 2003
Città: Lucca
Messaggi: 2165
Re: Re: [C++] Numeri grassi grassi

Intanto grazie a tutti delle risposte...

Quote:
Originariamente inviato da RaouL_BennetH
Da quel poco che ne so, mi sembra che però il C++ non sia il linguaggio più indicato per fare quello che vorresti; se non erro c'è il fortran che più si adatta allo scopo. O devi operare per forza di cose in C++ ?
Questa cosa che ho in mente la vorrei fare in c++ anche perchè conosco solo quello e il vb6 (purtroppo...)

Quote:
Originariamente inviato da cionci [/b]
In teoria, se dovessi lavorare sugli interi (anche se si può generalizzare a numeri in virgola fissa) potresti fare operazioni definendo ogni cifra come un intero 2^32...
__________________
Intel G1820T | Asus H87-Pro | 8Gb DDR3 1333Mhz | Crucial M4 64Gb | WD Green 2Tb | Xonar Essence ST
My pictures on 500px

Ultima modifica di Jonny32 : 28-01-2005 alle 16:36.
Jonny32 è offline   Rispondi citando il messaggio o parte di esso
Old 30-01-2005, 21:31   #6
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
e utilizzando direttamente un array di bit???
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2005, 01:21   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Re: Re: Re: [C++] Numeri grassi grassi

Quote:
Originariamente inviato da Jonny32
Immaginati uno scatolotto che fa la somma fra due numeri in base dieci...

Questo scatolotto a 3 ingressi, A e B (i due operandi), Cin il riporto in ingresso...

E due uscite...Res (risultato) E Cout il riporto in uscita...

Res = (A + B + Cin) % 10 (modulo 10)

Res = (5 + 6) % 10 = 1

Cout = 1 se A + B >= 10

Questo stesso discorso lo puoi fare per un numero in base 2^32:

Res = (A + B + Cin) % 2^32

Cout = 1 se A + B >= 2^32

Se metti due scatolotti in fila (il Cout del primo entra nel Cin del secondo) hai fatto un sommatore a 64 bit

Gli ingressi del primo blocco saranno i primi 32 bit degli operandi, gli ingressi del secondo saranno i secondi 32 bit...

E così via virtualmente all'infinito...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2005, 10:46   #8
pipozzolo
Senior Member
 
L'Avatar di pipozzolo
 
Iscritto dal: Feb 2001
Città: Kasteddu
Messaggi: 1890
Re: Re: Re: Re: [C++] Numeri grassi grassi

Quote:
Originariamente inviato da cionci
Immaginati uno scatolotto che fa la somma fra due numeri in base dieci...

Questo scatolotto a 3 ingressi, A e B (i due operandi), Cin il riporto in ingresso...

E due uscite...Res (risultato) E Cout il riporto in uscita...

Res = (A + B + Cin) % 10 (modulo 10)

Res = (5 + 6) % 10 = 1

Cout = 1 se A + B >= 10

Questo stesso discorso lo puoi fare per un numero in base 2^32:

Res = (A + B + Cin) % 2^32

Cout = 1 se A + B >= 2^32

Se metti due scatolotti in fila (il Cout del primo entra nel Cin del secondo) hai fatto un sommatore a 64 bit

Gli ingressi del primo blocco saranno i primi 32 bit degli operandi, gli ingressi del secondo saranno i secondi 32 bit...

E così via virtualmente all'infinito...
Questo è molto semplice per i numeri interi ma non lo è altrettanto per i numeri frazionari (credo sia quello che cercava), seguendo il formato IEEE bisogna ridefinire segno esponente e mantissa e reimplementare tutti gli operandi... niente di allucinante ma è un pò più complesso.
Comunque credo che qualcosa di già pronto si trovi, visto che se non sbaglio tramite SSE/SSE2 erano state introdotte molte istruzioni per operare su dati di grosse dimensioni.
__________________
Asus P5Q-E - Intel Q6600 - Corsair 4GB DDR2 - Radeon HD5770 - Seagate 320GB sata2 16M - Audigy2 ZS
Acer Aspire 3023 WLMI
pipozzolo è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2005, 07:56   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Re: Re: Re: Re: Re: [C++] Numeri grassi grassi

Quote:
Originariamente inviato da pipozzolo
Questo è molto semplice per i numeri interi ma non lo è altrettanto per i numeri frazionari (credo sia quello che cercava),
Dipende...se si implementa un sistema a virgla fissa è assolutamente identico Anzi...volendo si potrebbe anche implementare un sistema in virgola mobile a cifre infinite...

Ultima modifica di cionci : 02-02-2005 alle 07:59.
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato WoW Forever provato: il MMORPG che la community ...
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita TCL P80 Ultra: con un display AMOLED opaco &egra...
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
OpenAI apre a tutti la sua IA che scegli...
Apple estende il Self Service Repair a i...
Linux, falle critiche del kernel pubblic...
Gli agenti AI diventano un incubo per le...
Fastweb e Vodafone verso il sistema unic...
70mai A800 Nano a 69,99€ su Amazon: dash...
Mini pacchi extra Ue, la tassa da 2 euro...
Metro 2033 Redux e Last Light Redux si a...
Silicio a 1.000 °C in un microonde: ...
Sigma FP2 senza mirino né slitta ...
Huawei Pura 90 Plus, preordini aperti in...
Addio al limite di 1,5 °C: il nuovo ...
Tor sotto attacco: manipolati oltre 300 ...
Volkswagen ID. EVERY1: l'elettrica da 20...
eMudhra lascia i certificati TLS dopo il...
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: 19:00.


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