Newsgroup: it.comp.lang.c
Titolo: valori tipi dato

ciao
i tipi di dati utilizzandoli su un intel 1000Mhz assumono quale valore?
Intendo dire rispetto all' architettura del processore
grazie

 
che razza di domanda e`?
Adieu,
-- 
Lestat de Lioncourt                               |          Ciro Mattia Gonano
  JabberID: 
les...@jabber.students.cs.unibo.it
    |    Undergraduate Student in
  ICQ#: 52631406                                  |         Computer Science at
  URL: 
http://www.CS.UniBO.It/~gonano
             |       University of Bologna
            <powered by Linux Slackware 9.0-beta on Kernel 2.4.19-xfs>

ciao
intendevo sapere ad esempio  un int su una macchina a 32 bit quanti bit
occupa.........etc...........
grazie

 ha scritto nel messaggio
news:OLgr9.39327$RO.9...@twister1.libero.it...

La domanda è posta male... in genere la dimensione, in Byte, dei tipi
"primitivi" come short, int ecc. dipende dal sistema operativo e
dall'architettura del processore stesso.
Ad esempio, se non erro, nel vecchio Ms-Dos un "int" era composto da 2 Byte
(16bit) e un "long" da 4 Byte (32bit) - il motivo è una questione di
compatibilità all'indietro -.
Mentre su Windows un "int" e un "long" hanno entrambi una dimensione di 4
Byte.
In genere su piattaforma Intel dall'80386 in poi, avendo quest'ultimo un
indirizzamento a 32bit, c'e' sempre stata la possibilità che un "int" e un
"long" si euguagliassero.
Saluti
Rosario Ianuale

Intendo dire rispetto all' architettura del processore
Non dipende dal processore, ma dal compilatore.
ciao, acc.   
a...@libero.it

 ciao, acc.   
a...@libero.it
Saluti
Rosario Ianuale

 i tipi di dati utilizzandoli su un intel 1000Mhz assumono quale valore?
Immagino tu intenda la "dimensione dei tipi di dati".
Ebbene, non c'è risposta. La dimensione dipende sia dall'architettura, dal 
sistema operativo e anche dal compilatore.
Una buona pratica di programmazione è fregarsene :-) O meglio, assumere le 
regole standard che dicono sizeof(short) <= sizeof(int) <= sizeof(long) 
senza mai programmare in base ad una particolare dimensione. Esistono delle 
costanti simboliche (MAX_INT, etc...) che ti consentono di scrivere 
programmi con controlli indipendenti dalla dimensione effettiva.
-- 
In silenzio anche un idiota sembra intelligente. Ma non c'è problema,
l'idiota vuol sempre dire la sua.

 No... non è vero leggi il mio post...
Dipende da entrambe le cose.
Ci sono linguaggi (vedi Java) in cui un int e' a 32 bit e da qui non si
scappa, se l'architettura ha una parola di lunghezza diversa, "si attacca al
tram". In C, invece, un int e' o 16 bit o 32 bit o 64 bit. La regola:
compilo su una piattaforma a X bit, quindi il mio intero e' necessariamente
X bit non e' sempre rispettata (e' rispettata nel 99% delle volte), ma un
compilatore a 16 bit (pur compilando su piattaforme a 32) assume un intero a
16 bit e un long a 32 bit, per esempio, mentre uno a 32 bit assume
normalmente un intero a 32 bit e un long a 32 bit. Cosi' come, su una
piattaforma a 64 bit, l'intero potrebbe restare di 32 bit e il long di 64,
ecc... ecc...
--------------------------------
Inviato via 
http://usenet.libero.it

 Inviato via 
http://usenet.libero.it
Saluti
Rosario Ianuale

No... non č vero leggi il mio post...
L'ho letto, e rimango sulle mie.  Il sistema operativo non ha nulla a
che vedere con il formato dei dati, questo e' dettato prevalentemente
dall'architettura hardware e dalle scelte di chi sviluppa il
compilatore, in generale la situazione e' quella illustrata da
LaForgia.
Windows, ad esempio, ignora completamente l'esistenza di variabili
floating point, e questo e' normale per un sistema operativo.
ciao, acc.   
a...@libero.it

 Lo stesso che assumono su un 386, solo che lo assumono piu' velocemente.
ROTFL!!! :°°D
-- 
 Ciao, Bianco.                         Reply to luca.bianco (at) 
tiscali.it
|---------[Powered by Debian GNU/Linux 3.0 - 2.2.20 - AMD K6-200]---------|
|------------[Linux Registered User #287769 - Machine #169192]------------|