Sommario:
Video: MATEMATICA : Spiegazione degli INSIEMI NUMERICI 2024
Uno degli aspetti frustranti del linguaggio di programmazione C è il C Numeric Data Type Puzzle. A differenza della vita reale, dove puoi estrarre qualsiasi numero dagli eteri e essere felicemente contento di ciò, in C devi estrarre numeri da parti specifiche degli eteri in base al tipo di numero che è. Questo fa sì che il fattore di frustrazione inizi a salire, con la domanda logica: "Che cos'è un numero? “
Va bene. Non è un "tipo di numero". "È un tipo di dati numerici , che è come dici" tipo di numero "se lavori al Pentagono. Devi dire al compilatore C quale tipo di numero stai usando, perché pensa ai numeri in modo diverso da come gli umani fanno. Ad esempio, devi conoscere le seguenti cose sul numero:
- Sarà un numero intero - senza una frazione o una parte decimale?
- Quanto sarà grande il numero (come in value-large, non big-on-the-page-large)?
- Se il numero ha una parte frazionaria, quanto deve essere preciso il numero? (Mi piace il millesimo, il milionesimo o il decimale dei gladillionth. Gli scienziati devono sapere con tanta precisione quando inviano razzi nello spazio esterno per andare dove nessuno è mai giunto prima.)
Sì, questo è tutto estraneo a te. Quello che la maggior parte dei programmatori vuole fare è dire: "Ho bisogno di una variabile numerica, dammene una, veloce, prima che questo valore scivoli fuori dal retro del computer e diventi una statistica governativa! "Ma devi pensare un po 'di più prima di farlo.
C usa una varietà di tipi di numeri: diversi tipi di dati numerici, per così dire. La Tabella 1 li elenca tutti insieme ad altre informazioni statistiche. Questo tavolo è qualcosa a cui ti riferirai di tanto in tanto perché solo i veri pazzi potrebbero memorizzare tutto.
Tabella 1: Tipi di dati numerici C
Parola chiave |
Tipo di variabile |
Intervallo |
Memoria richiesta |
carattere |
(o stringa) |
da -128 a 127 |
1 byte |
int |
intero |
-32768 a 32, 767 |
2 byte |
breve ( o breve int) |
numero intero breve |
-32768 a 32, 767 |
2 byte |
lungo |
numero intero lungo |
-2, 147, 483, 648 to 2, 147, 483, 647 |
4 byte |
carattere non marcato |
non firmato carattere |
da 0 a 255 |
1 byte |
unsigned int |
intero senza segno |
da 0 a 65, 535 |
2 byte |
breve senza segno |
intero intero senza segno |
0 a 65, 535 |
2 byte |
unsigned long |
unsigned long intero |
0 a 4, 294, 967, 295 |
4 byte |
float |
virgola mobile a precisione singola (accurato a 7 cifre) |
+ o -3. 4 x 10 38 a + o -3. 4 x10 -38 |
4 byte |
doppio |
virgola mobile a precisione doppia (preciso fino a 15 cifre) |
+ o -1.7 x 10 -308 a + o -1. 7 x10 308 |
8 byte |
- La parola chiave è la parola chiave del linguaggio C utilizzata per dichiarare il tipo di variabile.
- Il tipo variabile indica il tipo di variabile definito dalla parola chiave. Ad esempio, char definisce una variabile di carattere (o stringa); int fa numeri interi; e così via. Esistono molti tipi di variabili, ognuno dei quali dipende dal tipo di numero o valore che viene descritto.
- L'intervallo indica quanto grande di un numero si adatta al tipo di variabile. Ad esempio, gli interi vanno da -32, 768 fino a 0 e di nuovo fino a 32, 767. Altri tipi di variabili gestiscono valori più grandi.
- La colonna Archiviazione richiesta indica quanti byte di memoria richiede ciascun tipo di variabile. Questa è roba avanzata, non proprio necessaria da sapere. Alcuni scienziati informatici possono guardare i byte richiesti e proclamare: "Bontà! Un numero intero su un PC occupa 16 bit di memoria. Questo deve spiegare la gamma 32K. Infatti. Hmmm. Passa i nachos "
Perché usare numeri interi?
Ovviamente, se si dispone di un numero a virgola mobile a precisione doppia che può gestire, in sostanza, numeri fino a 1 miliardo, perché preoccuparsi del piccolo numero intero? Diamine, rendi tutto un doppio-whammy in virgola mobile e facciamolo! Suona bene. È cattivo.
I numeri interi sono in realtà i tipi più comuni e più utili di variabili numeriche. Spesso, quando programmate, avete bisogno solo di valori di numeri interi piccoli. I numeri in virgola mobile sono a posto, ma richiedono un sovraccarico maggiore dal computer e richiedono più tempo per funzionare. Per confronto, gli interi sono molto più veloci.
Devi preoccuparti solo di due tipi di numeri interi: il numero intero normale - il int - e il numero intero lungo - il lungo .
Il int è un valore intero, compreso tra -32, 768 e 32, 767. È idealmente utilizzato per numeri piccoli senza una parte frazionaria. In alcune versioni di C, è possibile visualizzare questo valore denominato breve o breve int . In tutti i compilatori DOS C, è chiamato solo int . (Fa rima con piegato, non pinta.)
Il lungo è un valore di numero intero, che va da -2, 147, 483, 648 a 2, 147, 483, 647 - una vasta gamma, ma non abbastanza grande da comprendere il debito nazionale o l'ego di Madonna. Questo tipo di variabile numerica viene definito come lungo o lungo int in alcune versioni di C. Con i compilatori DOS C, puoi troncare liberamente, chiamandolo solo lungo .
In linea con l'ossessione dell'umanità per le dimensioni, sembrerebbe ovvio - anzi, avido - voler sempre usare il lungo sopra il int . Dopotutto, più grande è meglio. Anche se questo può essere vero, e gli psicologi possono discutere perché la maggior parte delle persone si sente in quel modo, la verità è che quanto più piccolo è il tipo di variabile che si può ottenere, tanto più veloce è il programma. Le variabili int sono minuscole e ordinate, facili da calcolare con i due pollici del computer. Le lunghe variabili richiedono un po 'più di tempo per il calcolo, e sprecano la memoria del computer e la potenza di elaborazione per usarle quando stai meglio con int s.(Vedrai perché è così che continui a programmare in C).
- Usa le int e lunghe parole chiave per dichiarare le variabili intere. int è per valori più piccoli; lungo è per valori più grandi.
- Il % i segnaposto viene utilizzato nella funzione printf per visualizzare le variabili int . (È inoltre possibile utilizzare il segnaposto % d .)
- int = breve = breve int
- Le variabili integer (int ) sono più brevi, più veloci e più facili per il computer avere a che fare con. Se Zuppa per uno fosse una variabile, sarebbe un int . Utilizzare int se si necessita di un valore numerico intero piccolo.
- Numeri negativi - perché preoccuparsi? A volte ne hai bisogno, ma il più delle volte non lo fai.
- Il tipo di variabile char può anche essere utilizzato come un tipo di numero intero, sebbene abbia un intervallo estremamente ridotto. Queste variabili sono utilizzate principalmente per memorizzare singoli caratteri (o stringhe).