Newsgroup: it.comp.lang.visual-basic
Titolo: Divisioni con numeri grandi

Salve vorrei porre un quesito.
Visto che ignoro la cosa, se vorrei fare una divisione tra un numero di 
200 cifre ed un numero di 100 cifre come potrei fare?
Vorrei sapere se esistono convenzioni, trucchi, semplificazioni o altro ..
So che la domanda non è tanto chiara e chiedo venia, ma non saprei come 
porla .. :(
Grazie
-- 
[CapoBecchino]
Cimiteri associati & Co.
ULTIME OFFERTE !!!!
Muori oggi ed avrai uno sconto del 50% / Muori domani ed avrai una 
sepoltura GRATIS!!!

 ha
scritto nel messaggio news:%qofd.25832$1q2....@tornado.fastwebnet.it...


 porla .. :(
Io invece penso di aver capito.
Dipende da quanto hai da perder tempo e quante operazioni devi fare.
Se la cosa non è occassionale posso dirti quello che ho fatto io.
Io tempo fa ho avuto la stessa necessità,
si trattava di fare operazioni con numeri di 400 e 800 cifre,
ovviamente si trattava di criptare dati (tramite RABIN una versione
semplificata
ma non per questo meno sicura di RSA).
Potresti crearti delle strutture e fare a mano i calcoli, alla fine ho
utilizzato
una dll fatta ad hoc per queste operazioni su numeri grandi e numeri primi
soprattutto.
La dll si chiama miracl non ho più la documentazione.
se cerchi
miracl shamus
trovi qualcosa è una dll c++ però.
http://indigo.ie/~mscott/

 
http://indigo.ie/~mscott/


 fare due conticini :)
Se hai scoperto questo ci mettiamo subito in societą
e rivendiamo il tutto al governo Americano o Cinese!!!

Mentre scavavo un nuovo loculo, ho sentitao danilo_NO che ha 
bisbigliato: in data 26/10/2004 11.32:

Ho detto per assurdo ;) per questo voglio farmi delle mie prove .. :D
diciamo che fino ad 1.000.000.000 c'č un errore dello 0,0001% :)
A presto ..


 porla .. :(
Se devi fare questi tipi di calcolo una volta ogni tanto, puoi vedere
questo programmino che ho scritto io (e che č lentissimo):
http://www.unbelsito.com/vb/lameparser0.3.zip
Dopo aver incluso classi e moduli nel tuo progetto ti basta fare cosě:
msgbox
nuovoNumero("48248348489489423834893248944324323").DividiPer(nuovonumero("22344444334444434444"),numeroCifreDesiderate).toString 
Occhio perň, 'che non č detto che funzioni sempre :)
termoPilucco
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
licenze particolari .. dei calcoli effettuati .. ??


 licenze particolari .. dei calcoli effettuati .. ??
Copio e incollo dai sorgenti:
' disclaimer:
' Questa classe cerca di superare i limiti di precisione dei numeri interi
' e a virgola mobile imposti dall'hardware delle archittetture odierne.
' Nonostante sia stata testata in molteplici circostanze non c'è alcuna
' garanzia che il risultato dei calcoli sia corretto.
' Non c'è alcuna garanzia neppure sul fatto che ci sia un risultato o che 
' le procedure  di calcolo terminino.
' Quand'anche i calcoli terminassero e riportassero il risultato corretto,
' si faccia attenzione al fatto che, per la natura particolare della 
' classe, i tempi di risposta potrebbero essere molto alti.
' Viste queste premesse l'utilizzo in ambienti produttivi è assolutamente
' sconsigliato. termoPilucco e il suo alter ego non si assumono alcuna 
' responsabilità per eventuali danni provocati dall'uso, anche proprio, 
' della classe stessa.
' La paternità degli algoritmi è riconosciuta ai rispettivi ideatori (si 
' vedano i commenti nelle relative funzioni)
' Un grazie in particolare a Isaac Newton per aver reso semplice ciò che 
' semplice non era.
' Un altro grazie ai signori del gruppo di discussione 
' it.comp.lang.visual-basic per aver supportato/sopportato questo progetto.
' Chiunque è libero di leggere, modificare, distribuire, riprodurre,  
' riutilizzare in parte o totalmente il presente codice sorgente, ma 
' senza mascherare la paternità di algoritmi e implementazioni.
' Non è inoltre previsto un uso commerciale dello stesso.
' Nel caso il codice sorgente venga incluso in quello di una software 
' commerciale (cosa assolutamente sconsigliata), tale software non deve
' avere come scopo primario quello di eseguire calcoli di numeri a 
' precisione arbitraria.
' Se questo fosse il caso consiglio di prendere spunto dagli algoritmi e 
' rivedere per  intero l'implementazione a partire dalla rappresentazione 
' interna.


 termoPilucco


 sei grande :)
Ringrazia Newton 'che la maggior parte degli algoritmi sono suoi.
Ad ogni modo, le divisioni sono veramente il punto debole del mio
programma: sono lentissimissime.



Era per questo che consigliavo Miracl.
    danilo

Mentre scavavo un nuovo loculo, ho sentitao danilo_NO che ha 
bisbigliato: in data 26/10/2004 11.53:

guarderň anche quello .. don't worry
grazie ad entrambi


 grazie ad entrambi
Ti straconsiglio anch'io qualcosa fatto da matematici ed in linguaggi
adatti a questo tipo di cose.
Il mio era un puro esercizio, utile solo se non si vuole distribuire nulla
ed integrare tutto nell'exe.


ZAC!
http://www.rain.org/~mkummel/tbvault.html
è scritto in boh! vecchio basic.......
li ho fatto fare una divisione tremenda...non so se l'ha fatta giusta ma
l'ha fatta in meno di un secondo!
ci sono i sorgenti
BIGNUM scarica!
-- 
Il Wodkino Nazionale è a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
 Demo classe vb.NET :
WodkaThumb 
www.villaceleste.it
  click su "spippolando e
Programmando"
---
Messaggio scannerizzato e certificato "Virus free" da AVG free edition.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.775 / Virus Database: 522 - Release Date: 08/10/2004

 fare due conticini :)
Se il motivo è questo ti consiglio di usare Python (
www.python.org
).
È un linguaggio di programmazione molto semplice da imparare e da usare
ed è in grado di trattare numeri con cifre (virtualmente) infinite.
Viene fornito con un interprete che puoi in questo caso usare come
"calcolatrice".
L'operazione di calcolo del resto di una divisione (%) è istantanea
anche con numeri dell'ordine di 10*100000...
Ciao.
-- 
BSD is for UNIX lovers -- linux is for Windows haters.