Newsgroup: it.comp.lang.c++
Titolo: Esiste un intero a 64 bit in C++?

Scusate, io programmo in Delphi, dove gli interi più lunghi sono di 32 bit.
Avendo fatto un programma di matematica abbastanza complesso con operazioni
su interi, mi va spesso in overflow. Volevo sapere per curiosità se (come in
Java ad esempio) in C++ esistono interi a 64 bit, in particolare in Borland
C++ Builder e in  Visual C++ (e quale versione).
Un grosso grazie a chi vorrà rispondermi...
Michele


wrote:


__int64 nomevar;
(due underscore)
E' un estensione del C++ introdotta dalla borland, quindi non so se
microsoft ha qualcos'altro. Io ho la versione 4, ma credo sia una cosa già
presente nelle versioni precedenti.
---
the fly on the net
webmaster di "the devil inside"
http://members.tripod.com/netfly
e-mail:
net...@netbusiness.it

 ha scritto nel messaggio ...


 Un grosso grazie a chi vorrà rispondermi...
Prego! :-)
Lorenzo

 wrote in message
7qr9u9$93o$1...@nslave1.tin.it...

Anche per VC++ (versione 6) esistono __int64 e unsigned __int64

 wrote in message
7qrcg0$ug$1...@aquila.tiscalinet.it...


fatto.
Tempo fa scrissi del codice C per implementare numeri interi molto grandi
(per un programma di cifratura) ottenuti tramite array di char. Se qualcuno
li volesse posso cercarli.
--
Francesco Trotta
http://space.tin.it/computer/ftrotta
Elimina "x_" dal mio indirizzo per mandarmi
un messaggio direttamente

 (per un programma di cifratura) ottenuti tramite array di char.
Continua a stupirmi il fatto che tutti i programmatori si divertano
risolvendo gli stessi problemi...  anche io ho fatto un programma
simile, a suo tempo.  Se volete qualcosa di carino, pero', non
chiedete il mio: c'e' di meglio :-)
MLO@axcdf4 4 $ man bc
bc(1)                                                                   bc(1)
NAME
  bc - An arbitrary precision calculator language
SYNTAX
  bc [ -lwsqv ] [long-options] [  file ... ]
VERSION
  This man page documents GNU bc version 1.04.
DESCRIPTION
  bc is a language that supports arbitrary precision numbers with interactive
  execution of statements.  There are some similarities in the syntax to the
  C programming language.  A standard math library is available by command
  line option.
[snip]
-- 
Maurizio Loreti                      
http://wwwcdf.pd.infn.it/~loreti/mlo.html
Un. of Padova, Dept. of Physics - Padova, Italy          
lor...@padova.infn.it

 ahhh, la VERA programmazione ad oggetti...
Ah, il vero TAFAZZISMO!!! ;-)
[Vedi sopra]

li volesse posso cercarli.
Non ho più il codice disponibile, ma riporto il testo di un messaggio
inviato ad un interessato. Suppongo possa essere d'aiuto
In pratica realizzi dei numeri in base 256 tramite array di char (che
avevamo chiamato int256: creavi il nuovo tipo con "typedef char
int256[NUM_CIFRE]"). Il numero di cifre è ovviamente la dimensione
dell'array.
Ad esempio il numero int256 23 è 515 in base 10.
Nonostante possa sembrare complicato, poichè la base del nuovo tipo è un
multiplo di 2, puoi utilizzare gli operatori bit a bit per ottimizzare le
operazioni. Banali inoltre le conversioni fra long, int, char e int256 (nei
due versi) poichè il computer li rappresenta esattamente alla stessa maniera
(attento però poichè il puntatore dell'array punta al char _meno_
significativo, mentre il puntatore di un int o long punta al byte _più_
significativo): naturalmente si parla di numeri senza segno ed entro i
limiti di convertibilità.
Buon divertimento
Quello precedente era per C. In C++ si può creare una classe ed eseguire
l'overloading degli operatori così da creare elementi per poter utilizzare
un int256 come qualsiasi altro tipo.
