Codifica dei Tipi di Dati in Linguaggio C
|
|
|
- Arrigo Lombardo
- 9 anni fa
- Visualizzazioni
Transcript
1 Codifica dei Tipi di Dati in Linguaggio C In questa dispensa verrà illustrato come vengono codificati i tipi semplici del linguaggio C. In particolare considereremo i seguenti tipi di dato: il tipo intero corto (short int); il tipo intero (int); il tipo intero senza segno (unsigned short, unsigned int, unsigned long); il tipo reale a singola precisione (float); il tipo reale a doppia precisione (double); il tipo reale ad alta precisione (long double); il tipo carattere (char); La codifica dei dati dipende essenzialmente dal compilatore utilizzato. Nel seguito si farà riferimento solo al compilatore Dev-C++. 1.Il Tipo Intero corto (short o signed short) In linguaggio C il tipo short o signed short è un tipo intero che è codificato utilizzando la codifica in complemento a 2 su 16 bit (2 byte). 2.Il Tipo Intero Senza Segno (unsigned short) In linguaggio C il tipo unsigned short è un tipo intero che è codificato utilizzando la codifica senza segno su 16 bit (2 byte). 3.Il Tipo Intero (int o signed int) In linguaggio C il tipo int o signed int è codificato utilizzando la codifica in complemento a 2 su 32 bit (4 bytes). 4.Il Tipo Intero Senza Segno (unsigned int) In linguaggio C il tipo unsigned int è codificato utilizzando la codifica senza segno su 32 bit (4 bytes). 1
2 5.Il Tipo Intero Lungo (signed long int o signed long o long) In linguaggio C il tipo long o signed long int o signed long) è un tipo intero che è codificato utilizzando la codifica in complemento a 2 su 32 bit (4 byte). 6.Il Tipo Intero Lungo Senza Segno (unsigned long int o unsigned long) In linguaggio C il tipo unsigned long int o unsigned long è un tipo intero che è codificato utilizzando la codifica senza segno su 32 bit (4 byte). I base a quanto detto, la seguente tabella riassume le codifiche degli interi e i range di valori assunti. Type Numero di Codifica Valore Minimo Valore Massimo Bits signed short 16 Compl unsigned 16 Senza Segno short signed int 32 Compl unsigned int 32 Senza Segno signed long 32 Compl unsigned long 32 Senza Segno Il seguente programma in C permette di visualizzare sullo schermo i limiti riassunti dalla precedente tabella. Il programma fa uso della libreria limits.h che contiene le definizioni delle costanti SHRT_MIN, SHRT_MAX, INT_MIN, INT_MAX, LONG_MIN, LONG_MAX, USHRT_MAX, UINT_MAX e ULONG_MAX relative rispettivamente ai valori massimi e minini dei tipi short, int, long int, unsigned short, unsigned int e unsigned long int. 2
3 #include <stdio.h> #include <limits.h> printf("codifica del tipo SHORT \n"); printf("valore minimo = %d \n",shrt_min); printf("valore massimo = %d \n",shrt_max); printf("codifica del tipo INT \n"); printf("valore minimo = %d \n",int_min); printf("valore massimo = %d \n",int_max); printf("codifica del tipo LONG INT \n"); printf("valore minimo = %ld \n", LONG_MIN); printf("valore massimo =%ld \n", LONG_MAX); printf("codifica del tipo UNSIGNED SHORT \n"); printf("valore massimo = %u \n", USHRT_MAX); printf("codifica del tipo UNSIGNED INT \n"); printf("valore massimo = %u \n", UINT_MAX); printf("codifica del tipo UNSIGNED LONG INT \n"); printf("valore massimo = %lu \n", ULONG_MAX); 7.Il Tipo Reale a Singola Precisione (float) In linguaggio C il tipo float è codificato utilizzando la codifica IEEE 754 in Virgola Mobile su 32 bit (4 byte). 8.Il Tipo Reale a Doppia Precisione (double) In linguaggio C il tipo double è codificato utilizzando la codifica IEEE in Virgola Mobile su 64 bit (8 byte). 9.Il Tipo Reale a Doppia Precisione (long double) In linguaggio C il tipo long double è codificato utilizzando la codifica IEEE in Virgola Mobile su 80 bits (10 bytes). La seguente tabella riassume i limiti delle codifiche IEEE dei reali. 3
4 Type Codifica Valore Minimo Valore Massimo float IEEE x x double IEEE x x long double Estensione IEEE 754 a 80 bit 3.4 x x Il seguente programma in C permette di visualizzare sullo schermo i limiti appena descritti. Il programma fa uso della libreria float.h che contiene le definizioni delle costanti FLT_MIN, FLT_MAX, DBL_MIN, DBL_MAX, LDBL_MIN, LDBL_MAX relative rispettivamente ai valori massimi e minini dei tipi float, double e long double. #include <stdio.h> #include <float.h> printf("codifica del tipo FLOAT \n "); printf("valore minimo = %e \n", FLT_MIN); printf("valore massimo = %e \n", FLT_MAX); printf("codifica del tipo DOUBLE \n "); printf("valore minimo = %e \n", DBL_MIN); printf("valore massimo = %e \n", DBL_MAX); printf("codifica del tipo LONG DOUBLE \n "); printf("valore minimo = %Le \n", LDBL_MIN); printf("valore massimo = %Le \n", LDBL_MAX); 10.Il Tipo Carattere (char) Il tipo carattere (char) in linguaggio C occupa 1 byte, e utilizza la codifica ASCII (pronunciato "aschi"). Il seguente programma permette di visualizzare tutti i codici ASCII (da 0 a 255): 4
5 #include<stdio.h> unsigned short i; for (i=0; i<256; i++) printf("\ncarattere ASCII n.%u = %c ",i,i); 5
Variabili. Tipi di dati di base. Variabili. Variabili
Variabili 2 Tipi di dati di base Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Porzioni di memoria RAM usate per mantenere dati variabili nel tempo La definizione di una variabile riserva
Primi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
Il linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
Linguaggio C - sezione dichiarativa: costanti e variabili
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente
Struttura dei programmi C
Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte
Fondamenti di Linguaggio C
Corso di Informatica Grafica Fondamenti di Linguaggio C Linguaggio C: Identificatori, dichiarazione e definizione Variabili - Tipi di dato fondamentali Costanti - Strutture di controllo - Input/output
Introduzione al Linguaggio C
INFORMATICA 1 Lezione 3 (Introduzione al Linguaggio C, Introduzione ai Tipi di dato, Cenni alla codifica binaria) Introduzione al Linguaggio C 1 Passi fondamentali del C Definito nel 1972 (AT&T Bell Labs)
Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni Marco Liverani ([email protected])
LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2
LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni
Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010
Tipi di dati scalari (casting e puntatori) Alessandra Giordani [email protected] Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi
Corso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi
MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme
Lezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo [email protected] Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
Linguaggio C. Fondamenti. Struttura di un programma.
Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione
Rappresentazione numeri reali
Rappresentazione numeri reali I numeri reali rappresentabili in un calcolatore sono in realtà numeri razionali che approssimano i numeri reali con un certo grado di precisione Per rappresentare un numero
Programmare. La programmazione. Linguaggi. Algoritmo
Programmare 2 La programmazione Ver. 2.2 Il calcolatore sa eseguire molte operazioni di base: somma, sottrazione, AND, etc. Per risolvere un determinato problema si combinano queste operazioni in modo
Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto.
Sistema C e organizzazione del codice Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto. Un programma C è costituito da un insieme
LIBRERIE STANDARD in C. LIBRERIE STANDARD in C
LIBRERIE STANDARD in C La libreria standard del C è in realtà un insieme di librerie Per usare una libreria, non occorre inserirla esplicitamente nel progetto: ogni ambiente di sviluppo sa già dove cercarle
Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1
Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Cosa è il C++ E un linguaggio di programmazione derivato dal C Può essere usato per modificare il SO Unix e i suoi derivati (Linux)
Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
Laboratorio di programmazione
Laboratorio di programmazione Lezione II Tatiana Zolo [email protected] 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento
Variabili e tipi di dato
Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per
LINGUAGGI DI PROGRAMMAZIONE!
LINGUAGGI DI PROGRAMMAZIONE! Il potere espressivo di un linguaggio è! caratterizzato da:! quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente)! quali istruzioni
Primi programmi in C
Primi programmi in C Docente: Violetta Lonati PAS classe A042 Corso introduttivo pluridisciplinare in Informatica Nota: ricordate le opzioni principali del comando gcc (per eventuali dubbi, consultate
Input/Output di numeri
Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include
RAPPRESENTAZIONE DELL INFORMAZIONE
RAPPRESENTAZIONE DELL INFORMAZIONE Internamente a un elaboratore, ogni informazione è rappresentata tramite sequenze di bit (cifre binarie) Una sequenza di bit non dice che cosa essa rappresenta Ad esempio,
Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati
Caratteristiche Il Linguaggio C Linguaggio sequenziale (lineare), imperativo, strutturato a blocchi usabile anche come linguaggio di sistema software di base sistemi operativi compilatori... FI - Algoritmi
Preprocessore, linker e libreria standard
Preprocessore, linker e libreria standard Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 IL PREPROCESSORE Programma sorgente
Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.
Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti
Lezione 2. Rappresentazione dell informazione
Architetture dei calcolatori e delle reti Lezione 2 Rappresentazione dell informazione A. Borghese, F. Pedersini Dip. Informatica (DI) Uniersità degli Studi di Milano 1 Rappresentazione dell informazione
Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi
Basi della programmazione in Java Nicola Drago [email protected] Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione
Linguaggio C Informatica Grafica
Linguaggio C Informatica Grafica Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione [email protected] Linguaggio C Breve storia Struttura di un programma Variabili
Informatica I Facoltà di Ingegneria Prova scritta del 20/01/2014 TURNO A
Informatica I Facoltà di Ingegneria Prova scritta del 20/01/2014 TURNO A In una versione semplificata del gioco della Battaglia Navale il giocatore cerca di colpire le navi dell avversario (di cui non
Libreria standard Concetti chiave
Libreria standard B Concetti chiave File d intestazione standard Diagnostica Numeri complessi Controllo e conversione di caratteri Segnalazioni di errore Ambiente in virgola mobile Caratteristiche dei
IL LINGUAGGIO C TIPI DI DATO
IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace di trattare vari domini di dati, detti tipi primitivi dominio dei
Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C
Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che
Introduzione a C# Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Introduzione a C# Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni C#: Strumento Principe per.net Primo linguaggio orientato alle componenti della famiglia C/C++ Tutto è DAVVERO un oggetto
Introduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
Lettura e scrittura da file. Lettura e scrittura da file
Lettura e scrittura da file Come la lettura e la scrittura da I/O (tastiera e video) per poter leggere e/o scrivere da/su file è necessario includere le definizioni del tipo fstream e le operazioni su
Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
