L'informazione e la sua codifica



Похожие документы
2. Codifica dell informazione

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

Informatica. Rappresentazione binaria Per esempio diventa /10/2007. Introduzione ai sistemi informatici 1

Informazione analogica e digitale

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, = 1, 431 0, = 0, 862 0, = 1, 792 0, = 1, 448 0, = 0, 896

Rappresentazione di informazioni con un alfabeto finito

Informatica. Rappresentazione dei numeri Numerazione binaria

Rappresentazione delle informazioni

Operazioni binarie fondamentali

4 3 4 = 4 x x x 10 0 aaa

SISTEMI DI NUMERAZIONE E CODICI

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico

Rappresentazione dei numeri in un calcolatore

Elementi di informatica

Laboratorio di Informatica

Rappresentazione dell informazione Codifica Binaria

Elementi di Informatica e Programmazione

I sistemi di numerazione

Sistemi di Numerazione

2.12 Esercizi risolti

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Alessandro Pellegrini

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Sistemi di Numerazione Binaria NB.1

= 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210

Codifica binaria dei numeri

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Informazione e Informatica

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità.

Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari. Copyright 2005 The McGraw-Hill Companies srl

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

Definizioni iniziali

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno

Fondamenti di Informatica

Logica e codifica binaria dell informazione

Informatica Generale 02 - Rappresentazione numeri razionali

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio

Codifica binaria dei numeri relativi

Aritmetica dei Calcolatori 1

Esercitazione Informatica I AA Nicola Paoletti

Rappresentazione binaria

Codifica binaria e algebra di Boole

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

la scienza della rappresentazione e della elaborazione dell informazione

ESEMPIO 1: eseguire il complemento a 10 di 765

Codifica dei numeri negativi

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.

la scienza della rappresentazione e della elaborazione dell informazione

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

La codifica delle informazioni

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori

IL CODICE BINARIO. Il codice binario. Codifica posizionale. Aritmetica binaria

Esercizi. Esercizi sulla codifica (Parte 1) Elementi di Informatica e Programmazione. Soluzioni degli esercizi Esercizio 2

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori"

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Elementi di Informatica. ( Lezione II, parte I ) Sistemi di numerazione: binario, ottale ed esadecimale

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

Convertitori numerici in Excel

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico

4. Operazioni aritmetiche con i numeri binari

Codifica delle Informazioni

La codifica dell informazione

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

Materiale di approfondimento: numeri interi relativi in complemento a uno

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

La somma. Esempio: Il prodotto. Esempio:

Sistemi di numerazione: generalità

I SISTEMI DI NUMERAZIONE

Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta

ESERCIZI di FONDAMENTI DI INFORMATICA RAPPRESENTAZIONE DEI NUMERI

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

Base generica: B A = {... }, con A = B, sequenze di n simboli (cifre) c n

Numerazione binaria e rappresentazione delle informazioni

- Sistemi di numerazione 1 - Sistemi di Numerazione

Dispense di Informatica per l ITG Valadier

Strutturazione logica dei dati: i file

Introduzione alla programmazione in C

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Parte 1. Vettori di bit - AA. 2012/13 1.1

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Indice. 1 Rappresentazione dei dati... 3

Appunti sulla Macchina di Turing. Macchina di Turing

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

Introduzione. Informatica B. Daniele Loiacono

ALGEBRA DELLE PROPOSIZIONI

Rappresentazione binaria

La codifica dell informazione

ESTRAZIONE DI RADICE

I SISTEMI DI NUMERAZIONE (esercizi svolti)

Elementi di informatica

Транскрипт:

L'informazione e la sua codifica Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it

Informatica e telecomunicazione Cos è l informatica informatica? lo studio sistematico degli algoritmi che descrivono e trasformano l informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione [ACM Association for Computing Machinery] la scienza della rappresentazione e dell elaborazione dell informazione Cos è la telecomunicazione? la trasmissione rapida a distanza dell informazione Attenzione: Non si parla di tecnologia dei calcolatori! Si attribuisce ruolo centrale al concetto di informazione! Informatica - Claudia d'amato 2

Informazione e supporto L informazione è portata da, o trasmessa su, o memorizzata in, o contenuta in qualcosa; questo qualcosa qualcosa però non è l informazione stessa. Ogni supporto ha le sue caratteristiche in quanto mezzo su cui può essere scritta dell informazione. Informatica - Claudia d'amato 3

Informazione e supporti /2 La stessa informazione può essere scritta su supporti differenti. 10 11 10 9 8 7 6 Informatica - Claudia d'amato 4

Informazione e supporto /4 Distinguere informazione e supporto fisico è distinguere tra entità logiche ed entità fisiche : l informazione richiede un supporto fisico, ma non coincide con esso; l informazione è un entità extra fisica, non interpretabile in termini di materia energia e sottoposta alle leggi della fisica solo perché basata su un supporto fisico. L informazione si può creare e distruggere. Informatica - Claudia d'amato 6

Caratteristiche di un sistema fisico per supportare informazioni CODIFICA: l'operazione formalizzazione e scrittura dell'infomazione su supporto fisico DECODIFICA: l'operazione di interpretazione e lettura dell'informazione da supporto fisico Condizione necessaria perché un supporto possa portare informazione è che possa assumere configurazioni differenti,, a ognuna delle quali venga associata una differente entità di informazione. Informatica - Claudia d'amato 7

Supporto fisico: 1 a condizione Deve consentire di potere identificare delle differenze Es: voglio rappresentare 2 alternative Cosa rappresenta ciascuna configurazione? Informatica - Claudia d'amato 8

Configurazioni e codici Per interpretare le differenti configurazioni del supporto è necessario conoscere il codice (cioè la regola) che a ogni configurazione ammessa associa un entità di informazione. La definizione di un codice comporta che siano identificati in modo non ambiguo l insieme delle possibili configurazioni del supporto e l insieme delle possibili entità di informazione a cui ci si vuole riferire. Variando il codice è possibile riferirsi a entità di informazione differenti utilizzando uno stesso supporto fisico. Informatica - Claudia d'amato 9

Supporto fisico: 2a condizione Deve essere condivisa una regola per attribuire un significato a ciascuna configurazione Configurazione 1 Configurazione 2 CODICE Entità di informazione 1 Entità di informazione 2 Informatica - Claudia d'amato 10

Definire un codice Identificare { Configurazioni } { Entità informazione } Associare gli elementi dei 2 insiemi Informatica - Claudia d'amato 11

Il telegrafo... Supporto fisico: : conduttore in cui transita corrente continua Entità di informazione: : punti e linee, che rappresentano le lettere dell alfabeto Codice = regola che specifica la corrispondenza: passa corrente per 1 s punto passa corrente per 2 s linea non passa corrente per 1 s separazione tra punti e linee della stessa lettera non passa corrente per 2 s separazione tra due lettere passa corrente per 1 s, non passa per 1 s, passa per 2 s = punto linea. Informatica - Claudia d'amato 12

...Il telegrafo Codice Morse = relazione tra lettere e sequenze di punti linee: punto linea lettera A linea punto punto punto lettera B linea punto linea punto lettera C ecc. Abbiamo associato simboli ad altri simboli!! Informatica - Claudia d'amato 13

Messaggi vs configurazione Configurazione del supporto fisico (livello fisico, LF): passa corrente per 2s, non passa per 1s, passa per 1s, non passa per 2s, passa per 2s, non passa per 1s, passa per 2s, non passa per 1s, passa per 2s messaggio,, al livello logico 1 (LL1( LL1): linea punto, separazione di lettera, linea linea linea messaggio,, al livello Logico 2 (LL2( LL2): N O messaggio,, al livello Logico 3 (LL3( LL3): NO, con il significato (per esempio) di incontro non confermato Le relazioni tra questi livelli definiscono ognuna un codice per interpretare il significato delle entità che compaiono al livello precedente in termini delle entità del livello successivo: sono relazioni di significazione. Informatica - Claudia d'amato 14

Livelli di informazione Informazione sintattica Rappresentazione in simboli dell'informazione Informazione semantica Determinazione del significato della informazione rappresentata Informazione pragmatica Determinazione del valore da attribuire all'informazione, considerata la sua rappresentazione ed il suo significato Informatica - Claudia d'amato 15

La codifica dell informazione Informatica - Claudia d'amato 17

Algoritmo Codifica dati e istruzioni descrizione della soluzione di problema scritta in modo da poter essere eseguita da un esecutore (eventualmente diverso dall autore dell algoritmo) sequenza di istruzioni che operano su dati. Programma algoritmo scritto in modo da poter essere eseguito da un calcolatore (esecutore automatico) Per scrivere un programma è necessario rappresentare istruzioni e dati in un formato tale che l esecutore automatico sia capace di memorizzare e manipolare. Informatica - Claudia d'amato 18

Rappresentare dati e istruzioni per il processing di un esecutore automatico Alfabeto dei simboli cifre 0, 1,, 9, separatore decimale (, ), separatore delle migliaia (. ) e segni positivo ( + ) o negativo ( ). Regole di composizione (sintassi), che definiscono le successioni ben formate 1.234,5 è la rappresentazione di un numero; 1,23,45 non lo è. Codice (semantica) 1.234,5 = 1 10 3 + 2 10 2 + 3 10 1 + 4 10 0 + 5 10 1 1,23,45 =?? Lo stesso alfabeto può essere utilizzato con codici diversi: Lo stesso alfabeto può essere utilizzato con codici diversi: 123,456 = 1 10 2 + 2 10 1 + 3 10 0 + 4 10 1 + 5 10 2 + 6 10 3, [IT] 123,456 = 1 10 5 + 2 10 4 + 3 10 3 + 4 10 2 + 5 10 1 + 6 10 0, [UK] Informatica - Claudia d'amato 19

Codifica Binaria Alfabeto binario: : usiamo dispositivi con solo due stati Problema: assegnare un codice univoco a tutti gli oggetti compresi in un insieme predefinito Quanti oggetti posso codificare con k bit: 1 bit 2 stati (0, 1) 2 oggetti (e.g. Vero/Falso) 2 bit 4 stati (00, 01, 10, 11) 4 oggetti 3 bit 8 stati (000, 001,, 111) 8 oggetti k bit 2 k stati 2 k oggetti Quanti bit mi servono per codificare N oggetti: N 2 k k log 2 N k = log 2 N (intero superiore) Attenzione: ipotesi implicita che i codici abbiano tutti la stessa lunghezza Informatica - Claudia d'amato 20

Esempio di codifica binaria Problema: assegnare un codice binario univoco a tutti i giorni della settimana Giorni della settimana: N = 7 k log 2 7 k = 3 Con 3 bit possiamo ottenere 8 diverse configurazioni: Ne servono 7, quali utilizziamo? Quale configurazione associamo a quale giorno? Attenzione: ipotesi che i codici abbiano tutti la stessa lunghezza Informatica - Claudia d'amato 21

I giorni della settimana in binario /1 Lunedì Martedì Domenica Mercoledì Sabato Giovedì Venerdì Lunedì Giovedì Martedì Mercoledì Domenica Venerdì Sabato 0 1 Lunedì Martedì Giovedì Mercoledì Sabato Venerdì Domenica 00 01 10 11 Lunedì Martedì Mercoledì Giovedì Venerdì Sabato Domenica 000 001 010 011 100 101 110 111 1 bit 2 gruppi 2 bit 4 gruppi 3 bit 8 gruppi Informatica - Claudia d'amato 22

I giorni della settimana in binario /2 Lunedì Martedì Domenica Mercoledì Sabato Giovedì Venerdì Sabato Giovedì Martedì Domenica Lunedì Mercoledì Venerdì 0 1 Giovedì Martedì Sabato Mercoledì Domenica Lunedì Venerdì 00 01 10 11 Giovedì Sabato Martedì Domenica Mercoledì Venerdì Lunedì 000 001 010 011 100 101 110 111 1 bit 2 gruppi 2 bit 4 gruppi 3 bit 8 gruppi Informatica - Claudia d'amato 23

Codifica binaria dei caratteri Quanti sono gli oggetti compresi nell insieme? 26 lettere maiuscole + 26 minuscole 52 10 cifre Circa 30 segni d interpunzione Circa 30 caratteri di controllo (EOF, CR, LF, ) circa 120 oggetti complessivi k = log 2 120 = 7 Codice ASCII: utilizza 7 bit e quindi può rappresentare al massimo 2 7 =128 caratteri Con 8 bit (= byte) rappresento 256 caratteri (ASCII esteso) Si stanno diffondendo codici più estesi (e.g. UNICODE) per rappresentare anche i caratteri delle lingue orientali Informatica - Claudia d'amato 24

ASCII su 7 bit (alcune configurazioni) 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 010 sp! " # $ % & ' ( ) * +, -. / 011 0 1 2 3 4 5 6 7 8 9 : ; < = >? 100 @ A B C D E F G H I J K L M N O 101 P Q R S T U V W X Y Z [ \ ] ^ _ 110 ` a b c d e f g h I j k l m n o 111 p q r s t u v w x Y z { } ~ canc Informatica - Claudia d'amato 25

bit, Byte, KiloByte, MegaByte, bit = solo due stati, 0 oppure 1. Byte = 8 bit, quindi 2 8 = 256 stati KiloByte [KB] = 2 Byte = 1024 Byte ~ 10 3 Byte MegaByte [MB] = 2 Byte = 1'048'576 Byte ~ 10 6 Byte GigaByte [GB] = 2 Byte ~ 10 9 Byte TeraByte [TB] = 2 Byte ~ 10 Byte PetaByte [PB] = 2 Byte ~ 10 Byte ExaByte [EB] = 2 Byte ~ 10 Byte Informatica - Claudia d'amato 26

La codifica delle istruzioni Si segue lo schema presentato per i caratteri alfanumerici: quali e quante sono le istruzioni da codificare? qual è la lunghezza delle successioni di bit da utilizzare? qual è la corrispondenza tra istruzioni e successioni di bit? Istruzioni aritmetico-logiche Istruzioni per il trasferimento dati Istruzioni di controllo Codice Istruzione Codice Istruzione Codice Istruzione 0111 1100 ADD 1110 1000 LOAD 0100 1001 IF_EQ 0111 1101 SUB 1111 1000 STORE 0100 1000 GOTO 0111 1110 AND 0100 1100 RETURN Informatica - Claudia d'amato 27

Oltre al codice operativo è necessario far riferimento ai dati necessari per completare l esecuzione dell istruzione, e.g. addizione: è necessario che sia specificato (anche implicitamente) dove leggere i due operandi da sommare e dove scrivere il risultato; il numero dei dati da specificare è variabile, in funzione delle istruzioni. Informatica - Claudia d'amato 28

Numeri naturali Sistema di numerazione posizionale in base b c k c k 1 c 0 rappresenta c k b k + c k 1 b k 1 + + c 0 b 0 b=10 1101 dieci indica 1 10 3 + 1 10 2 + 0 10 + 1 10 0 Conversione binario decimale basta scrivere il numero secondo la notazione posizionale utilizzando già il sistema decimale b=2 1101 due indica 1 2 3 + 1 2 2 + 0 2 + 1 2 0 = 13 dieci Conversione decimale binario Metodo delle divisioni successive Informatica - Claudia d'amato 29

Conversione binario decimale 101100 due = 1 dieci 2 5 dieci+ 0 dieci 2 4 dieci+ 1 dieci 2 3 dieci+ 1 dieci 2 2 dieci+ 0 dieci 2 1 dieci+ + 0 dieci 2 0 dieci = = 1 dieci 32 dieci + 0 dieci 16 dieci + 1 dieci 8 dieci + 1 dieci 4 dieci + 0 dieci 2 dieci + 0 dieci 1 dieci = = 32 dieci + 8 dieci + 4 dieci = = 44 dieci 101110101 due = 1 dieci 2 8 dieci+ 0 dieci 2 7 dieci+ 1 dieci 2 6 dieci+ 1 dieci 2 5 dieci+ 1 dieci 2 4 dieci+ 0 dieci 2 3 dieci+ 1 dieci 2 2 dieci+ 0 dieci 2 1 dieci+ 1 dieci 2 0 dieci = = 1 dieci 256 dieci + 0 dieci 128 dieci + 1 dieci 64 dieci + 1 dieci 32 dieci + 1 dieci 16 dieci + 0 dieci 8 dieci + 1 dieci 4 dieci + 0 dieci 2 dieci + 1 dieci 1 dieci = = 256 dieci + 64 dieci + 32 dieci + 16 dieci + 4 dieci + 1 dieci = = 373 dieci Informatica - Claudia d'amato 30

Conversione decimale binario Sistema di numerazione posizionale in base B che, in questo contesto si può ipotizzare diversa da dieci c n 1 c n 2 c 1 c 0 = c n 1 B n 1 + c n 2 B n 2 + + c 1 B 1 + c 0 B 0 c n 1 c n 2 c 1 c 0 = c n 1 B n 1 + c n 2 B n 2 + + c 1 B B + c 0 (infatti B 1 = B e B 0 = 1) Dividendo il numero per il valore della base, il risultato che si ottiene è: (c n 1 B n 1 + c n 2 B n 2 + + c 1 B B + c 0 )/B = = c n 1 B n 2 + c n 2 B n 3 + + c 1 + c 0 /B che può essere scomposto in modo da evidenziare quoziente e resto: quoziente = c n 1 B n 2 + c n 2 B n 3 + + c 1 resto = c 0 Il resto della divisione corrisponde all ultima cifra della rappresentazione in base B del numero,, ma il suo valore è indipendente dalla base che si utilizza per effettuare i conti. Applicando lo stesso procedimento al quoziente si ottiene la penultima cifra della rappresentazione in base B Ripetendo la procedura è possibile ottenere tutte le altre cifre. Informatica - Claudia d'amato 32

Conversione decimale binario 573 dieci : 2 dieci quoziente 286 286 dieci : 2 dieci quoziente 143 143 dieci : 2 dieci quoziente 71 71 dieci : 2 dieci quoziente 35 35 dieci : 2 dieci quoziente 17 17 dieci : 2 dieci quoziente 8 dieci : 2 dieci quoziente 4 dieci : 2 dieci quoziente 2 dieci : 2 dieci quoziente 1 dieci : 2 dieci quoziente 286 dieci 143 dieci 71 dieci 35 dieci 17 dieci 8 dieci (cifra binaria meno significativa) 4 dieci 2 dieci 1 dieci 0 dieci resto 1 dieci resto 0 dieci resto 1 dieci resto 1 dieci resto 1 dieci resto 1 dieci resto 0 dieci resto 0 dieci resto 0 dieci resto 1 dieci 1 000 111 101 due = 573 dieci (cifra binaria più significativa) Informatica - Claudia d'amato 33

Conversione decimale binario Si calcolano i resti delle divisioni per due 18 : 2 = 9 resto 0 9 : 2 = 4 resto 1 4 : 2 = 2 resto 0 2 : 2 = 1 resto 0 1 : 2 = 0 resto 1 10010 137 : 2 = 68 resto 1 68 : 2 = 34 resto 0 34 : 2 = 17 resto 0 17 : 2 = 8 resto 1 8 : 2 = 4 resto 0 4 : 2 = 2 resto 0 2 : 2 = 1 resto 0 1 : 2 = 0 resto 1 10001001 Informatica - Claudia d'amato 34

Numeri binari: operazioni Operazioni di somma di numeri binari naturali. Con gli 8 bit utilizzati negli esempi qui riportati si possono rappresentare i numeri naturali fino a 255dieci. Operazioni che producono un risultato maggiore provocano il superamento della capacità di rappresentazione (indicato in gergo dal termine inglese overflow). 1 1 Informatica - Claudia d'amato 35

Ottali ed esadecimali Utili per rappresentare sinteticamente valori binari Ottali (base b = 8) Alfabeto ottale: cifre comprese tra 0 e 7 354 otto = 3 8 2 + 5 8 1 + 4 8 0 = 192+40+4 = 236 dieci 1461 otto = 1 8 3 + 4 8 2 + 6 8 1 + 1 8 0 = 512+256+48+1 = 817 dieci Ogni cifra ottale corrisponde a tre cifre binarie: 11101100 due = [11] [101] [100] = 354 otto 1100110001 due = [1] [100] [110] [001] = 1461 otto Esadecimali (base b = 16) Alfabeto esadecimale: cifre 0 9 + lettere A F EC sedici = 14 16 1 + 12 16 0 = 224 + 12 = 236 dieci 331 sedic = 3 16 2 + 3 16 1 + 1 16 0 = 768+48+1 = 817 dieci Ogni cifra esadecimale corrisponde a quattro cifre binarie: 11101100 due = [1110] [1100] = EC sedici 1100110001 due = [11] [0011] [0001] = 331 sedici Informatica - Claudia d'amato 36

Numeri naturali binari nei calcolatori Per la codifica dei numeri naturali (interi positivi) si utilizzano abitualmente successioni di 32 bit (4 byte) con cui si possono rappresentare i numeri compresi tra 0 e 2 32 1 = 4'294'967'295 4 10 9. Informatica - Claudia d'amato 37

Numeri interi relativi Alfabeto binario anche il segno è rappresentato da 0 o 1 è indispensabile indicare il numero k di bit utilizzati Modulo e segno 1 bit di segno (0 positivo, 1 negativo) k 1 bit di modulo Esempio: +6 dieci = 0110 ms 6 dieci = 1110 ms si rappresentano i valori da 2 k 1 +1 a 2 k 1 1 con 4 bit i valori vanno da 7 a +7 con 8 bit i valori vanno da 127 a +127 Attenzione: ci sono due rappresentazioni dello 0 con 4 bit sono +0 dieci = 0000 ms 0 dieci = 1000 ms Informatica - Claudia d'amato 39

Numeri interi in complemento a 2 Alfabeto binario anche il segno è rappresentato da 0 o 1 è indispensabile indicare il numero k di bit utilizzati Complemento a 2 X corrisponde al binario naturale di 2 k + X +6 dieci 2 4 +6 = 22 [1]0110 0110 C2 6 dieci 2 4 6 = 10 [0]1010 1010 C2 si rappresentano i valori da 2 k 1 a 2 k 1 1 con 4 bit i valori vanno da 8 a +7 con 8 bit i valori vanno da 128 a +127 Con 32 bit i valori vanno da 2'147'483'648 fino a +2'147'483'647 Attenzione: c è una sola rappresentazione dello 0 con 4 bit è +0 dieci = 0000 C2 mentre 1000 C2 = 8 dieci Informatica - Claudia d'amato 40

Il complemento a 2 Metodi alternativi per calcolare la rappresentazione di X a partire da quella di X Effettuare il complemento 1 di ogni bit di X, poi aggiungere 1 rappresentazione di +6 dieci = 0110 C2 (NB ci vogliono 4 bit!!) complemento di tutti i bit 1001 C2 (corrisponderebbe a -7 dieci ) aggiungere 1 1010 C2 (che corrisponde a -6 dieci ) Partendo da destra e andando verso sinistra, lasciare invariati tutti i bit fino al primo 1 compreso, complementare tutti gli altri bit. rappresentazione di +6 dieci = 0110 C2 (NB ci vogliono 4 bit!!) gli ultimi due bit ( 1 0) rimangono invariati gli altri due bit vengono complementati (1 0 1 0 C2 ) Informatica - Claudia d'amato 41

Complemento a 2: alcune osservazioni I valori positivi iniziano con 0,, quelli negativi con 1 Data la rappresentazione di un numero su k bit, la rappresentazione dello stesso numero su k+1 bit si ottiene aggiungendo (a sinistra) un bit uguale al primo (estensione( del segno ) Rappresentazione di 6 su 4 bit = 1010 Rappresentazione di 6 su 5 bit = 11010 Rappresentazione di 6 su 8 bit = 11111010 la sottrazione si effettua come somma algebrica la sottrazione si effettua come somma algebrica 4 6 = +4 + ( 6) = 0100 + 1010 = 1110 = 2 9 6 = +9 + ( 6) = 01001 + 11010 = [1]00011 = +3 Informatica - Claudia d'amato 43

C2: operazioni Operazioni di somma di numeri binari in complemento a due. Con gli 8 bit utilizzati negli esempi qui riportati si possono rappresentare i numeri interi da 128 dieci fino a +127 dieci Informatica - Claudia d'amato 44

C2: operazioni ATTENZIONE Se due operandi dello stesso segno danno un risultato di segno opposto vuol dire che è stata superata la capacità di calcolo (overflow). Informatica - Claudia d'amato 45

Numeri razionali Cifre più significative: sono le cifre associate ai pesi maggiori numeri > 1: le cifre più significative sono quelle poste più a sinistra es.: 723'456 cifra più significativa: 7, associata al peso 10 5, seguita da 2, con peso 10 4, e così via; numeri < 1: le cifre più significative sono le prime diverse da 0 che si incontrano, a partire dalla virgola, da sinistra verso destra es.: 0.0072345 --> cifra più significativa: 7, con peso 10 3, seguita da 2, con peso 10 4, e così via. Se i numeri hanno un valore molto grande o piccolo, si considerano solo le cifre più significative --> rappresentazione in notazione scientifica: un numero in base B viene rappresentato come: ±0.m B e, segno (+ oppure ), coefficiente m, detto mantissa, che è la parte frazionaria compresa tra 0 e 1 esponente e a cui elevare la base della numerazione, che è un intero ( 0) Esempi: -123'450'000'000 diventa 0.12345 10 12, con segno negativo, mantissa 12345, ed esponente 12; +0.000012345, corrisponde a 0.12345 10-5, con segno positivo, mantissa 12345 ed esponente 5. Informatica - Claudia d'amato 46

Rappresentazione binaria Per esempio +101010000 diventa +0.10101 10 01001, segno positivo; mantissa 10101 (si noti che la mantissa inizia sempre con 1); esponente è 01001 C2 (si noti come l esponente sia un numero intero e per questo sia necessario adottare una rappresentazione che permetta la codifica anche di valori negativi, come, per esempio, quella in complemento a due). Standard IEEE-754 (Institute of Electrical and Electronic Engineers): precisione doppia: 64 bit precisione singola: 32 bit Informatica - Claudia d'amato 47