1 Operatori bit-a-bit (Rev )

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "1 Operatori bit-a-bit (Rev )"

Transcript

1 1 Operatori bit-a-bit (Rev ) La più piccola quantità di informazione memorizzabile nella memoria di un computer è il bit. Il bit può assumere sono due valori di solito indicati con 1 e 0 anche se, a seconda del loro utilizzo, si anche usano altre rappresentazioni come true/false o yes/no. Tutti i tipi discussi fino ad ora sono rappresentati nella memoria di un computer come una sequenza di più bits, ad esempio il tipo char utilizza una unità di otto bits, ossia un byte. A volte, tuttavia, può risultare utile poter accedere ai singoli bit poichè la manipolazione dei bits permette una programmazione di livello più basso, e quindi più potente, della programmazione che utilizza solo tipi. Per contro un programma di basso livello bit-oriented spesso risulta molto meno trasparente di un programma di più altro livello type-oriented. La programmazione bit-oriented si usa ad esempio per programmi che usano particolari codifiche, come i programmi di compressione, trasmissione ed immagazzinamento dei dati. In fisica la programmazione bit-oriented viene usata spesso quando si utilizzano variabili che possono assumere solo pochi valori, ad esempio due (spin), per cui è possibile ridurre la richiesta di memoria utilizzando i singoli bit, o gruppi di pochi bits, per memorizzare le variabili (multi-spin coding). 1.1 Rappresentazione dei dati binari Nella programmazione bit-oriented i dati sono sequenze di bits (dati binari), e quindi di difficile lettura per un umano. È quindi necessario utilizzare qualche tipo di codifica che li renda più facilmente intellegibili. La codifica più comoda per rappresentare i dati binari è il formato esadecimale (hex) poichè ogni hex-digit fornisce il valore di quattro bits. Ad esempio in questo modo il contenuto di un byte è dato da soli due hex-digit. La seguente tavola riporta la conversione tra la codifica esadecimale e quella binaria. Tavola conversione hex - binaria hex Binario hex Binario A B C D E F 1111 Per le lettere si possono usare anche i caratteri minuscoli: a, b, c, d, e ed f. Ad esempio se un byte contiene i dati binari il suo contenuto nella rappresentazione hex viene ottenuto utilizzando la tavola di conversione dopo aver raggruppato i bits in gruppi da quattro a partire da desta, per cui nel caso specifico si ha 0xC8. Il prefisso 0x, o anche 0X, è necessario per indicare che si tratta di un hex-digit. Siccome per gli hex-digits 1

2 si possono usare indifferentemente lettere maiuscole e minuscole avremmo potuto ugualmente scrivere 0xc8. Se avessimo usato la rappresentazione decimale il contenuto del byte sarebbe stato rappresentato da 200, di interpretazione in termini di bits molto meno immediata di quella esadecimale. Infatti per passare da un numero hex alla rappresentazione binaria è sufficiente utilizzare la tavola di conversione associando a ciascun hex-digit la configurazione dei quattro bits corrispondenti. Nel caso della rappresentazione decimale invece la conversione richiede divisioni successive per 2. Il vantaggio della rappresentazione esadecimale rispetto a quella decimale per i dati binari è quindi evidente. Operatori bit-a-bit Per operare sui singoli bits dei dati binari il linguaggio C fornisce sei operatori detti operatori bit-a-bit che possono essere raggruppati in tre categorie: Operatori logici bit-a-bit; Operatore di complemento bit-a-bit; Operatori di shift (traslazione); I dati binari sono semplici sequenze di bits senza nessuna particolare codifica di conseguenza gli operatori bit-a-bit prendono come operandi solo espressioni a valore di tipo intero int o char. Inoltre poichè ai bits dei dati binari non è associata nessuna particolare codifica questi operatori trattano ogni bit degli operandi individualmente ed indipendentemente gli uni dagli altri, da cui il nome di operatori bit-a-bit. Sebbene gli operandi degli operatori bit-a-bit possono essere sia con che senza segno per una maggiore sicurezza si consiglia di utilizzare gli operatori bit-a-bit solo con tipi interi senza segno. Infatti il comportamento di questi operatori con i tipi interi con segno può differire da un computer ad un altro soprattutto se il computer non utilizza la rappresentazione in complemento a due per i numeri interi negativi. 1.2 Operatori logici bit-a-bit I operatori logici bit-a-bit sono in ordine di precedenza: La loro associatività è a sinistra. & and ^ or esclusivo o xor or inclusivo o semplicemente or Gli operatori logici bit-a-bit sono operatori binari, ossia prendono due operandi. Il risultato dell operatore è un dato binario dello stesso tipo degli operandi in cui ciascun bit è il risultato 2

3 della funzione booleana applicata ai due bits corrispondenti per posizione nei due operandi. Se gli operandi sono di tipo diverso si applicano le usuali regole di conversione tra tipi ed il risultato sarà del tipo in cui gli operandi sono stati convertiti. L azione degli operatori logici bit-a-bit su ciascun singolo bit è: L operatore and & restituisce un bit 1 se e solo se entrambi i bits su cui opera sono bit 1, altrimenti restituisce un bit 0 L operatore or esclusivo ^ restituisce un bit 1 solo nel caso in cui solo uno dei due bits su cui opera è un bit 1, altrimenti restituisce un bit 0. L operatore or inclusivo restituisce un bit 1 se almeno uno dei due bits su cui opera è un bit 1, altrimenti restituisce un bit 0. La loro azione può essere riassunta dalla seguente tavola della verità : Operatori Logici Bit-a-Bit bit 1 bit 2 bit 1 & bit2 bit 1 ^ bit2 bit 1 bit Gli operatori logici bit-a-bit sono commutativi ed associativi per cui il compilatore è libero di riarrangiare le espressioni contenenti questi operatori. Di conseguenza le espressioni con operatori logici bit-a-bit non sono valutate necessariamente nell ordine con cui sono scritte ma a seconda del compilatore in una delle possibili forme equivalenti. A prima vista gli operatori logici bit-a-bit sembrano molto simili agli operatori logici && (and) e (or). Ad esempio se entrambi gli operandi dell operatore logico && sono true ( non zero ) il risultato sarà true, allo stesso modo in cui sarà 1 il risultato dell operatore logico bit-a-bit & se entrambi i bits su cui opera sono 1. Tuttavia nonostante molte similitudini gli operatori logici e gli operatori logici bit-a-bit sono operatori diversi. Infatti mentre gli operatori logici operano sul valore degli operandi come un tutt uno, gli operatori logici bit-a-bit operano su ciascun bit degli operandi indipendentemente. Per illustrare questa differenza supponiamo di voler controllare se i due numeri interi i e j sono entrambi non nulli. Questo si ottiene facilmente ad esempio come: if ( ( i!= 0) && ( j!= 0) ) { Alternativamente, siccome un espressione è considerata da un punto di vista logico true se il suo valore è non nullo, il controllo può essere effettuato anche come if ( i && j ) { 3

4 Se in questa seconda versione avessimo usato l operatore logico bit-a-bit & al posto dell operatore logico && e scritto if ( i & j ) { il controllo sarebbe risultato errato. Infatti se i = 1 e j = 2 il test fallisce e il programma non scrive Sono entrambi diversi da zero, anche che i numeri sono chiaramente non nulli. Il motivo è che l operatore logico bit-a-bit opera su ogni bit degli operandi separatamente e non sul valore degli operandi per cui il risultato dell operazione i & j è: ed il test giustamente fallisce. i = j = i & j Osserviamo che se l operatore logico bit-a-bit & fosse stato usato nella prima versione del test if ( ( i!= 0) & ( j!= 0) ) { invece si avrebbe avuto la risposta corretta. Infatti il risultato dell espressione logica (i!= 0) è il valore booleano 0 o 1 a seconda che l affermazione sia vera o falsa. Per cui, sebbene l uso dell operatore logico bit-a-bit & sia improprio in questo contesto, il risultato è nonostante tutto corretto poichè il valore degli operandi dell operatore bit-a-bit sono sempre convertiti nei valori interi 0 e 1 che differiscono sono per il primo bit. Da questo esempio possiamo concludere che il risultato degli operatori logici bit-a-bit è lo stesso degli operatori logici solo se gli operandi sono espressioni a valore booleano 0 o 1. Vi è infine un altra differenza tra gli operatori logici bit-a-bit e gli operatori logici che a volte può causare errori piuttosto difficili da trovare. Infatti mentre gli operatori logici non valutano l operando a destra se il valore dell operando a sinistra è sufficiente per determinare se il valore dell espressione logica è true o false, gli operatori logici bit-a-bit valutano sempre entrambi gli operandi. 1.3 Operatore di complemento bit-a-bit L operatore di complemento bit-a-bit o negazione bit-a-bit: ~ not bit-a-bit o bit flip è un operatore unario che ritorna l inverso o negazione o complemento bit-a-bit del suo operando: 4

5 L operatore ~ restituisce un bit 1 se il suo operando è un bit 0 ed un bit 0 se il suo operando è un bit 1. La sua tavola della verità è quindi semplicemente Complemento bit ~bit L operatore di complemento bit-a-bit è simile all operatore logico! (not), ma anche in questo caso la somiglianza è solo apparente poichè l operatore bit-a-bit non opera sul valore dell operando ma indipendentemente su ogni bit della sua rappresentazione binaria. Di conseguenza ogni bit della rappresentazione binaria di di ~e è l inverso di quello che era nell operando e. Ad esempio se e è un tipo intero a 8-bit allora e = 0xc ~e = 0x e = 0xF ~e = 0x0F Se l operando dell operatore unario ~ non è di tipo intero, questo viene convertito automaticamente ad un tipo intero prima di applicargli l operatore. Se l operando e dell operatore di complemento bit-a-bit è di intero con segno il valore di ~e dipende dalla rappresentazione utilizzata per i numeri interi con segno. La rappresentazione più utilizzata per gli interi con segno è quella di complemento a due. Ricordiamo che la rappresentazione in complemento a due con n bits del numero intero negativo i si ottiene aggiungendo 1 al complemento bit-a-bit della rappresentazione binaria con n 1 bits del numero intero positivo i. In questa rappresentazione il bit più significativo, ossia quello più a sinistra, vale 0 per i numeri positivi e 1 per quelli negativi. Per convincersi di ciò basta osservare che se ad una stringa di bits si somma il suo complemento bit-a-bit si ottiene una stringa di bits tutti uguali ad 1. Se ora a questa stringa si somma 1 si otterrà una stringa di bits tutti uguali a 0 ossia la rappresentazione del valore 0. Di conseguenza la stringa con tutti i bits uguali ad 1 è la rappresentazione in complemento a due del numero intero negativo 1 e quindi il valore della stringa più il suo complemento bit-a-bit è 1 in complemento a due. Esempio: Valore i Binario ~i i Valore i

6 Non tutti i computers usano la rappresentazione in complemento a due per gli interi con segno, di conseguenza il valore del risultato dell operatore di complemento bit-a-bit applicato ad interi con segno può differire da un computer all altro. Per questo si consiglia di utilizzare l operatore di complemento bit-a-bit solo con operandi di tipo intero senza segno. Per un operando e di tipo intero senza segno il valore di ~e è UINT MAX - e se il valore di e è, o è convertito ad, unsigned int e ULONG MAX - e se invece il valore di e è, o è convertito ad, unsigned long int. Nello Standard C i valori di UINT MAX e ULONG MAX sono definiti nel file di header di sistema limits.h. 1.4 Operatori di shift Vi sono due operatori binari di shift (traslazione): << shift a sinistra left-shift >> shift a destra right-shift Entrambi gli operatori hanno associatività a sinistra ed hanno la stesso livello di precedenza. Ciascun operatore prende due operandi entrambi di tipo intero e nel caso servisse le usuali regole di conversione sono applicate separatamente ad entrambi gli operandi. Il risultato degli operatori di shift è del tipo, o del tipo in cui è convertito, l operando di sinistra. Il primo operando degli operatori di shift è l oggetto i cui bits vanno traslati mentre il secondo operando è il numero di posizioni di cui vanno traslati i bits del primo operando. Il valore dell operatore è uguale al valore del primo operando dopo lo shift. La direzione di traslazione dipende dall operatore usato. L operatore left-shift << sposta a sinistra tutti i bits del primo operando del numero di posizioni specificato dal secondo operando. I bits più a sinistra (most-significative) che vengono spostati fuori sono persi, mentre i bits nelle posizioni più a destra (less-significative) che si liberano sono messi a 0. Analogamente, l operatore right-shift >> sposta a destra tutti i bits del primo operando del numero di posizioni specificato dal secondo operando. I bits spostati fuori a destra sono persi, mentre il valore assegnato ai bits che si liberano a sinistra dipende dal compilatore. Lo Standard C richiede che l operazione di right-shift sia o logica o aritmetica. Nel primo caso, shift logico, ai bits che si liberano a sinistra viene assegnato il valore di bit 0 mentre nel secondo caso, shift aritmetico, a questi viene assegnato il il valore di bit 0 se l operando è senza segno o il valore del bit più significativo prima dello shift se l operando è con segno. Questo vuol dire che il right-shift aritmetico assegna ai bits che si liberano a sinistra il valore del bit del segno per variabili con segno, e quindi il valore di bit 0 per valori positivi e 1 per valori negativi, ed il valore di bit 0 per le variabili senza segno. Per lo più i compilatori usano un right-shift aritmetico, tuttavia questa duplice possibilità fa si che l uso dell operatore >> con variabili con segno produca programmi generalmente non portabili. Il valore degli operatori di shift è indeterminato se il valore del secondo operando è negativo, per cui uno shift a sinistra di un numero negativo di posizioni non necessariamente risulta in uno shift a destra, e viceversa. Il risultato può risultare indeterminato anche se il valore del secondo operando è più grande od uguale alla dimensione in bit del primo operando. Se invece il valore del secondo operando è 0 non viene effettuato nessuno shift. 6

7 Esempio: signed char c c = 0x2b c << 1 c = 0x c >> 1 c = 0x a 21 c >> 2 c = 0x0a a 10 c >> 3 c = 0x0a a 5 (c << 2) >> 2 c = 0xeb b 21 c = 0x2b c 43 a shift logico o aritmetico b shift aritmetico c shift logico Spostare a sinistra di una posizione equivale a moltiplicare per 2, di due posizioni a moltiplicare per 4, e cosìvia. Quindi un shift a sinistra di n posizioni è equivalente a moltiplicare per 2 n. Se l operatore left-shift equivale a moltiplicare per 2, l operatore right-shift equivale alla divisione tra interi per 2, per cui uno shift a destra di n posizioni è equivalente a dividere per 2 n. Siccome le operazioni di shift sono più veloci di quelle di divisione e moltiplicazione il compilatore sostituisce quando possibile tutte le divisioni e moltiplicazioni per 2 n con gli shifts equivalenti. Come per gli operatori di assegnamento anche per gli operatori bit-a-bit vale la forma contratta Ad esempio var op= expr <==> var = var op expr i &= j ; /* equivale a i = i & j; */ i <<= 3 ; /* equivale a i = i << 3; */ Esercizi 1. Utilizzando gli operatori bit-a-bit scrivere un programma che stampa i bits di un numero intero sia in formato binario che in formato esadecimale. c AC

Corso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato

Corso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato Corso di JavaScript B1 Tipi di dato e operatori 1 Prerequisiti Concetto di variabile, espressione e tipo di dato 2 1 Introduzione In questa Unità illustriamo alcuni strumenti operativi per la scrittura

Dettagli

Tipi di dato primitivi

Tipi di dato primitivi Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso

Dettagli

Fondamenti di programmazione parte 2. Elementi di informatica IGLP

Fondamenti di programmazione parte 2. Elementi di informatica IGLP Fondamenti di programmazione parte 2 Elementi di informatica IGLP Questo insieme di trasparenze è stato ideato e realizzato dai ricercatori e professori del Dipartimento di Informatica e Sistemistica dell

Dettagli

Indice. Ordine di valutazione. Espressioni in C++ Le espressioni in C++ (CAP 4) Alberto Garfagnini e Marco Mazzocco A.A. 2014/ * 20 / 2

Indice. Ordine di valutazione. Espressioni in C++ Le espressioni in C++ (CAP 4) Alberto Garfagnini e Marco Mazzocco A.A. 2014/ * 20 / 2 Le espressioni in C++ (CAP 4) Indice Le espressioni in C++ : precedenze e associatività degli operatori Alberto Garfagnini e Marco Mazzocco Università degli studi di Padova A.A. 2014/2015 gli operatori

Dettagli

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione

Dettagli

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010 Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi

Dettagli

Linguaggio C: Espressioni

Linguaggio C: Espressioni Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università

Dettagli

Informatica AA 2005/06. Programmazione M.A. Alberti. Operatori in Java 1. Operatori in Java. Espressioni aritmetiche. Espressioni booleane

Informatica AA 2005/06. Programmazione M.A. Alberti. Operatori in Java 1. Operatori in Java. Espressioni aritmetiche. Espressioni booleane Operatori in Java Operatori in Java Corso di laurea in Informatica Operatori aritmetici Operatori di uguaglianza e relazionali Operatori logici in espressioni booleane La precedenza degli operatori L associatività

Dettagli

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO

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

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

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 di

Dettagli

LINGUAGGI DI PROGRAMMAZIONE!

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

Dettagli

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere

Dettagli

Tipi di dato, Alessandra Giordani Lunedì 7 maggio 2011

Tipi di dato, Alessandra Giordani Lunedì 7 maggio 2011 Tipi di dato, memoria e conversioni Alessandra Giordani agiordani@disi.unitn.it Lunedì 7 maggio 2011 http://disi.unitn.it/~agiordani/ Il linguaggio C è esplicitamente tipato: occorre esplicitamente associare

Dettagli

2001 Pier Luca Montessoro, Davide Pierattoni (si veda la nota di copyright alla slide n. 2)

2001 Pier Luca Montessoro, Davide Pierattoni (si veda la nota di copyright alla slide n. 2) - Linguaggio C - Espressioni e operatori FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing.DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Espressioni e operatori

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University

Dettagli

IL LINGUAGGIO C TIPI DI DATO

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

Dettagli

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio I/O da tastiera + costrutti while e if Alessandra Giordani agiordani@disi.unitn.it Lunedì 2 maggio 2011 http://disi.unitn.it/~agiordani/ Ripasso funzione printf() Usata per stampare il contenuto di una

Dettagli

La codifica dell informazione

La codifica dell informazione La codifica dell informazione Codifica dati e istruzioni Algoritmi = istruzioni che operano su dati. Per scrivere un programma è necessario rappresentare istruzioni e dati in un formato tale che l esecutore

Dettagli

Architettura degli Elaboratori e Laboratorio

Architettura degli Elaboratori e Laboratorio Architettura degli Elaboratori e Laboratorio Docente: Francesco Giacomini Assistente: Matteo Manzali Università di Ferrara, Anno Accademico 2013/2014 Rappresentazione binaria delle informazioni 12 Rappresentazione

Dettagli

Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte

Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla

Dettagli

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di

Dettagli

Precisazione sui tipi in ANSi C

Precisazione sui tipi in ANSi C Precisazione sui tipi in ANSi C Tipi primitivi del C Un tipo è costituito da un insieme di valori ed un insieme di operazioni su questi valori. Classificazione dei tipi primitivi del C scalari aritmetici:

Dettagli

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico Architettura degli Elaboratori e Laboratorio Matteo Manzali Università degli Studi di Ferrara Anno Accademico 2016-2017 Analogico vs digitale Segnale analogico Segnale digitale Un segnale è analogico quando

Dettagli

Le variabili logiche possono essere combinate per mezzo di operatori detti connettivi logici. I principali sono:

Le variabili logiche possono essere combinate per mezzo di operatori detti connettivi logici. I principali sono: Variabili logiche Una variabile logica (o booleana) è una variable che può assumere solo uno di due valori: Connettivi logici True (vero identificato con 1) False (falso identificato con 0) Le variabili

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

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

Dettagli

APPUNTI DI INFORMATICA

APPUNTI DI INFORMATICA APPUNTI DI INFORMATICA Per il biennio di liceo scientifico scienze applicate Sommario Il calcolo binario... 2 Numerazione Decimale... 2 Numerazione Binaria... 2 Conversione Binario -> Decimale... 2 Conversione

Dettagli

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole Andrea Passerini passerini@disi.unitn.it Informatica Variabili logiche Una variabile logica (o booleana) è una variable che può assumere solo uno di due valori: True (vero identificato con 1) False (falso

Dettagli

La "macchina" da calcolo

La macchina da calcolo La "macchina" da calcolo Abbiamo detto che gli algoritmi devono essere scritti in un linguaggio "comprensibile all'esecutore" Se il nostro esecutore è il "calcolatore", questo che linguaggio capisce? che

Dettagli

Linguaggio C: Espressioni

Linguaggio C: Espressioni Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università

Dettagli

Linguaggio C: Espressioni

Linguaggio C: Espressioni Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 / 34 Ringraziamenti prof. Mirko Viroli, Università

Dettagli

Tipi elementari. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico

Tipi elementari. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico Tipi elementari Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Programmazione anno accademico 2017 2018 Tipi di dato Ogni variabile (e ogni costante) è associata a un tipo, che

Dettagli

Esame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma

Esame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma Università degli Studi di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA A.A. 2008/09 Lezione 3 Operazioni Aritmetiche: Somma + 1 0 1 0 (*) 1 0 1 0 (*) con riporto di 1 2 Operazioni Aritmetiche:

Dettagli

Conversione binario-ottale/esadecimale. Conversione binario-ottale/esadecimale. Rappresentazione di Numeri Interi Positivi (numeri naturali)

Conversione binario-ottale/esadecimale. Conversione binario-ottale/esadecimale. Rappresentazione di Numeri Interi Positivi (numeri naturali) Conversione binario-ottale/esadecimale Conversione binario-ottale/esadecimale Nella rappresentazione ottale (B=8) si usano gli 8 simboli,, 2, 3, 4, 5, 6, 7 In quella esadecimale (B=6) i 6 simboli,, 2,

Dettagli

Rappresentazione dei dati in memoria

Rappresentazione dei dati in memoria Rappresentazione dei dati in memoria La memoria Una memoria deve essere un insieme di oggetti a più stati. Questi oggetti devono essere tali che: le dimensioni siano limitate il tempo necessario per registrare

Dettagli

Espressioni in Linguaggio C

Espressioni in Linguaggio C Concetti chiave Espressioni in Linguaggio C Espressioni Conversioni Implicite Operatori aritmetici Operatore di assegnamento Operatori relazionali Operatori logici Gerarchia e associatività degli operatori

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Codifica dei numeri Rappresentazioni in base 2, 8, 10 e 16 Rappresentazioni M+S, C1 e C2 Algoritmi di conversione di base Algoritmi di somma, moltiplicazione e divisione

Dettagli

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main()

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main() Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine

Dettagli

La codifica digitale

La codifica digitale La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore

Dettagli

Assegnamento. Ricordiamo che l esecuzione di x = exp corrisponde a: Esempio: somma = 5; a = 2; somma = somma + a; somma 5 = 7 a 2 2

Assegnamento. Ricordiamo che l esecuzione di x = exp corrisponde a: Esempio: somma = 5; a = 2; somma = somma + a; somma 5 = 7 a 2 2 Assegnamento Assegnamento Ricordiamo che l esecuzione di x = exp corrisponde a: 1. valutare il valore dell espressione exp a destra di = (usando i valori correnti delle variabili); 2. assegnare poi tale

Dettagli

Espressioni ed operatori in C

Espressioni ed operatori in C Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere

Dettagli

Espressioni ed operatori in C

Espressioni ed operatori in C Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere

Dettagli

LA CODIFICA DELLE INFORMAZIONI

LA CODIFICA DELLE INFORMAZIONI LA CODIFICA DELLE INFORMAZIONI I SEGNALI PER COMUNICARE ANALOGICO DIGITALE Gli esseri umani ed i computer utilizzano differenti tipi di segnali per comunicare. INFORMAZIONE ANALOGICA La voce umana e la

Dettagli

Introduzione. Introduzione

Introduzione. Introduzione PARTE 2 La Rappresentazione dei Dati 33 I computer hanno una memoria finita. Quindi, l insieme dei numeri interi e reali che si possono rappresentare in un computer è necessariamente finito 34 Codifica

Dettagli

Informazione binaria: - rappresentazione dei numeri naturali e interi relativi -

Informazione binaria: - rappresentazione dei numeri naturali e interi relativi - Informazione binaria: - rappresentazione dei numeri naturali e interi relativi - Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Tipologie

Dettagli

Il corpo di tutte le funzioni deve essere contenuto tra parentesi graffe

Il corpo di tutte le funzioni deve essere contenuto tra parentesi graffe Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine

Dettagli

Il linguaggio C. Notate che...

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

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 0 Ottobre 016 Esercizio 1 Funzione valore assoluto Il file.c di questo esercizio deve contenere nell ordine, il prototipo (dichiarazione) di una una funzione abs, che prende in

Dettagli

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense. Fondamenti di Informatica - A. Fantechi Raccolta di esercizi Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Università degli Studi La Sapienza Fondamenti di

Dettagli

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile

Dettagli

Esercitazione 0. Alberto Marchesi Informatica A Ingegneria Matematica (sez. 2) 25 Settembre 2019

Esercitazione 0. Alberto Marchesi Informatica A Ingegneria Matematica (sez. 2) 25 Settembre 2019 Esercitazione Alberto Marchesi Informatica A Ingegneria Matematica (sez. 2) 25 Settembre 219 Gli esercizi visti a lezione sono segnalati con ( ). Esercizio.1 ( ). Convertire in base 1 il numero (1111)2

Dettagli

IL LINGUAGGIO C TIPI DI DATO

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

Dettagli

Unita aritmetica e logica. Input e output della ALU. Rappresentazione degli interi. Rappresentazione in modulo e segno. Aritmetica del calcolatore

Unita aritmetica e logica. Input e output della ALU. Rappresentazione degli interi. Rappresentazione in modulo e segno. Aritmetica del calcolatore Unita aritmetica e logica Aritmetica del calcolatore Capitolo 9 Esegue le operazioni aritmetiche e logiche Ogni altra componente nel calcolatore serve questa unita Gestisce gli interi Puo gestire anche

Dettagli

Codifica dell informazione

Codifica dell informazione Codifica dell informazione Informatica B Come memorizzo l informazione nel calcolatore? 1 bit di informazione 1 bit di informazione La memoria del calcolatore L informazione nel calcolatore q Il calcolatore

Dettagli

Codifica dell informazione

Codifica dell informazione Codifica dell informazione Gli algoritmi sono costituiti da istruzioni (blocchi sequenziali, condizionali, iterativi) che operano su dati. Per trasformare un programma in una descrizione eseguibile da

Dettagli

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Primi esempi di programmi Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Il tipo int Un int permette di trattare numeri interi 4 byte (32 bit) con la tecnica del complemento a 2 (ma

Dettagli

Un ripasso di aritmetica: Rappresentazione decimale - limitazioni

Un ripasso di aritmetica: Rappresentazione decimale - limitazioni Un ripasso di aritmetica: Rappresentazione decimale - limitazioni Consideriamo la base dieci: con tre cifre decimali si possono rappresentare i numeri compresi tra 0 e 999, il numero successivo (1000)

Dettagli

Codifica binaria. Rappresentazioni medianti basi diverse

Codifica binaria. Rappresentazioni medianti basi diverse Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla

Dettagli

Esercitazioni - Informatica A

Esercitazioni - Informatica A Esercitazioni - Informatica A Roberto Tedesco E-mail: tedesco@elet.polimi.it Ufficio: 3, piano DEI Tel: 2 2399 3667 oppure 2 2399 3668 Ricevimento: venerdì.3 2.3 Sito web del corso: http://www.elet.polimi.it/corsi/infoa

Dettagli

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto Rappresentazione di numeri relativi (interi con segno) E possibile estendere in modo naturale la rappresentazione dei numeri naturali ai numeri relativi. I numeri relativi sono numeri naturali preceduti

Dettagli

direttive del preprocessore simboli speciali parole chiave identificatori costanti

direttive del preprocessore simboli speciali parole chiave identificatori costanti 5) Elementi di C #include #define TF2TC main() { double tc, tf, offset, conv; offset = 32.; direttive del preprocessore simboli speciali parole chiave identificatori costanti #ifdef TF2TC conv

Dettagli

Un elaboratore è un manipolatore di simboli (segni) intrinsecamente capace di trattare vari. caratteri char caratteri ASCII unsigned char

Un elaboratore è un manipolatore di simboli (segni) intrinsecamente capace di trattare vari. caratteri char caratteri ASCII unsigned char IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura tt fisica i di ogni elaboratore è intrinsecamente capace di trattare vari domini i di dati, detti tipi i primitivi iti

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica -- Conversione di tipo in C (V) -- Laboratorio di Informatica Ingegneria Meccanica Lezione 7, 22 novembre 2007 versione 24 novembre 2007 Renato Menicocci

Dettagli

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi

Dettagli

Parte seconda: espressioni, operandi e operatori.

Parte seconda: espressioni, operandi e operatori. Parte seconda: espressioni, operandi e operatori. 1. Le espressioni Le espressioni sono combinazioni di operatori e operandi. Gli operandi sono a loro volta combinazioni di costanti, variabili semplici

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra

Dettagli

La codifica binaria. Informatica B. Daniele Loiacono

La codifica binaria. Informatica B. Daniele Loiacono La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria ( e ) per rappresentare: i dati da elaborare le istruzioni dei programmi eseguibili Fondamenti di codifica

Dettagli

Rappresentazione dell Informazione

Rappresentazione dell Informazione Rappresentazione dell Informazione Gli strumenti di elaborazione e memorizzazione a cui un computer ha accesso hanno solo 2 stati Rappresentazione delle informazioni in codice binario: Caratteri, Naturali

Dettagli

Valutazione di espressioni

Valutazione di espressioni Valutazione di espressioni Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Programmazione anno accademico 2016 2017 Blocco Blocco è un insieme di istruzioni consecutive, con un

Dettagli

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Descrizione delle operazioni di calcolo. Espressioni costanti semplici Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette

Dettagli

IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace

IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace 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

Dettagli

Rappresentazione dell Informazione

Rappresentazione dell Informazione Rappresentazione dell Informazione Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo

Dettagli

Rappresentazione dei Dati

Rappresentazione dei Dati Parte II I computer hanno una memoria finita. Quindi, l insieme dei numeri interi e reali che si possono rappresentare in un computer è necessariamente finito 2 Codifica Binaria Tutti i dati usati dagli

Dettagli

Nuovi tipi di dato e. Alessandra Giordani Lunedì 26 marzo

Nuovi tipi di dato e. Alessandra Giordani Lunedì 26 marzo Nuovi tipi di dato e costrutto condizionale Alessandra Giordani agiordani@disi.unitn.it Lunedì 26 marzo 2012 http://disi.unitn.it/~agiordani/ Tipi di dato fondamentali int e il tipo di dato che consente

Dettagli

Arithmetic and Logic Unit e moltiplicatore

Arithmetic and Logic Unit e moltiplicatore Arithmetic and Logic Unit e moltiplicatore M. Favalli Engineering Department in Ferrara (ENDIF) ALU - multiplier Analisiesintesideicircuitidigitali 1 / 34 Sommario 1 Arithmetic and Logic Unit - ALU 2 Moltiplicatore

Dettagli

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre

Dettagli

Corso di Architettura degli Elaboratori

Corso di Architettura degli Elaboratori Corso di Architettura degli Elaboratori Codifica dell'informazione: Numeri Binari (lucidi originali della Prof.ssa Zacchi e del Prof. Balossino, rivisti dal Prof. Baldoni) 1 Codifica dell'informazione?

Dettagli

FUNZIONI BOOLEANE. Vero Falso

FUNZIONI BOOLEANE. Vero Falso FUNZIONI BOOLEANE Le funzioni booleane prendono il nome da Boole, un matematico che introdusse un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono

Dettagli

14. Tipi e conversioni di tipo. Andrea Marongiu Paolo Valente

14. Tipi e conversioni di tipo. Andrea Marongiu Paolo Valente 14. Tipi e conversioni di tipo Andrea Marongiu (andrea.marongiu@unimore.it) Paolo Valente Tipi di dato primitivi Enumerati (enum) Numeri reali (float e double) Tipi e conversioni di tipo Completamento

Dettagli

Rappresentazione della informazione

Rappresentazione della informazione Rappresentazione della informazione Rappresentazione digitale dei dati Numeri interi Numeri reali Caratteri (C++: int) (C++ float e double) (C++ char) Memoria del calcolatore è finita L insieme dei numeri

Dettagli

Circuiti e reti combinatorie. Appendice A (libro italiano) + dispense

Circuiti e reti combinatorie. Appendice A (libro italiano) + dispense Circuiti e reti combinatorie Appendice A (libro italiano) + dispense Linguaggio del calcolatore Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e Anche per esprimere

Dettagli

La codifica dei numeri

La codifica dei numeri La codifica dei numeri La rappresentazione dei numeri con il sistema decimale può essere utilizzata come spunto per definire un metodo di codifica dei numeri all interno degli elaboratori: la sequenza

Dettagli

Linguaggio C Espressioni e operatori

Linguaggio C Espressioni e operatori FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing.DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Espressioni e operatori 2001 Pier Luca Montessoro - Davide

Dettagli

Verso i puntatori: Cosa è una variabile?

Verso i puntatori: Cosa è una variabile? Verso i puntatori: Cosa è una variabile? Quando si dichiara una variabile, ad es. int a; si rende noto il nome e il tipo della variabile. Il compilatore alloca l opportuno numero di byte di memoria per

Dettagli

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point) Rappresentazione di Numeri Reali Un numero reale è una grandezza continua Può assumere infiniti valori In una rappresentazione di lunghezza limitata, deve di solito essere approssimato. Esistono due forme

Dettagli

Tipi di dato semplici

Tipi di dato semplici Tipi di dato semplici Abbiamo visto nei primi esempi che il C tratta vari tipi di dato = le dichiarazioni associano variabili e costanti al corrispondente tipo Per tipo di dato si intende un insieme di

Dettagli

Informatica e Laboratorio di Programmazione Sistema Binario Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

Informatica e Laboratorio di Programmazione Sistema Binario Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione Informatica e Laboratorio di Programmazione Sistema Binario Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione analogico e digitale una grandezza (fisica o astratta) può essere

Dettagli

Lezioni di Informarica. Prof. Giovanni Occhipinti

Lezioni di Informarica. Prof. Giovanni Occhipinti Lezioni di Informarica Prof. Giovanni Occhipinti 23 settembre 2010 2 Indice 1 La codifica delle Informazioni 5 1.1 Il sistema binario........................... 5 1.1.1 Conversione da binario a decimale.............

Dettagli

CIRCUITI DIGITALI. La grandezza fisica utilizzata nella maggior parte dei circuiti digitali è la differenza di potenziale (tensione).

CIRCUITI DIGITALI. La grandezza fisica utilizzata nella maggior parte dei circuiti digitali è la differenza di potenziale (tensione). CIRCUITI DIGITALI Un circuito elettronico viene classificato come circuito digitale quando è possibile definire il suo comportamento per mezzo di due soli stati fisici di una sua grandezza caratteristica.

Dettagli

Codifica binaria: - numeri interi relativi -

Codifica binaria: - numeri interi relativi - Codifica binaria: - numeri interi relativi - Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Tipologie di codici Per la rappresentazione di: caratteri

Dettagli

La codifica binaria. Informatica B. Daniele Loiacono

La codifica binaria. Informatica B. Daniele Loiacono La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria (0 e 1) per rappresentare: i dati da elaborare (numeri, testi, immagini, suoni, ) le istruzioni dei programmi

Dettagli