Massimo Sartori, MSc (PhD Student)

Slides:



Advertisements
Presentazioni simili
Dall’informazione al linguaggio macchina
Advertisements

Rappresentazioni numeriche
Informatica Generale Susanna Pelagatti
Fondamenti di Informatica
Rappresentazione di Numeri Reali
Rappresentazioni dei numeri non interi A. Ferrari.
Rappresentazioni numeriche
Trasmissione delle informazioni
Codifica dei Dati Idea: vogliamo rappresentare dati eterogenei utilizzando un linguaggio che l’elaboratore puo’ facilmente manipolare Essenzialmente vogliamo.
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Sistemi di numerazione e codici
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
Luglio 2002Complementi di algebra binaria1 Complememti di algebra binaria Luglio 2002.
Esercitazioni su rappresentazione dei numeri e aritmetica
Rappresentazione dei numeri razionali
27+ 12= Risultato troppo grande = = 39 = -25 errore di overflow in binario =
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Informatica 3 Codifica binaria.
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.
A.S.E.6.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 6 Complemento a MComplemento a M Rappresentazione di numeri con segnoRappresentazione di numeri.
A.S.E.5.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 5 Rappresentazione di numeri con segnoRappresentazione di numeri con segno –Modulo e segno (MS)
Sistemi di Numerazione
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Corso di Informatica (Programmazione)
Corso di Informatica per Giurisprudenza
Rappresentazione dei dati
Esistono 10 tipi di persone al mondo: Quelli che conoscono il codice binario & Quelli che non lo conoscono.
Rappresentazioni numeriche
Rappresentazione dei numeri reali
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
Rappresentazioni numeriche. Introduzione Un calcolatore elettronico dispone di uno spazio finito per memorizzare le cifre che esprimono un valore numerico.
4) Rappresentazione dei dati in memoria
Il sistema binario.
Gli esseri viventi ricevono informazione direttamente dal mondo circostante e dai propri simili attraverso i sensi (percezione). La percezione, tuttavia,
Codifica binaria Rappresentazione di numeri
Rappresentazione di numeri relativi (interi con segno)
Programma del corso Dati e loro rappresentazione Architettura di un calcolatore Sistemi operativi Linguaggi di programmazione Applicativi: - fogli elettronici.
Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in.
Conversione binario - ottale/esadecimale
Conversione binario - ottale/esadecimale
Rappresentazione di Numeri Reali
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
Analisi di Immagini e Dati Biologici
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
ARITMETICA BINARIA.
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori (Reti Locali, Internet)
RAPPRESENTAZIONE DELL'INFORMAZIONE
Che cos’è un sistema di numerazione?
RAPPRESENTAZIONE DELLE INFORMAZIONI
Codifica dell’informazione
I computer vengono utilizzati per automatizzare la soluzione di problemi di varia natura trattando le informazioni in entrata (DATI) eseguendo gli opportuni.
Process synchronization
Rappresentazione dell’Informazione
Rappresentazione dell’informazione nel calcolatore.

Rappresentazione della Informazione
Rappresentazioni a lunghezza fissa: problemi
Rappresentazione in virgola mobile (floating-point) Permette di rappresentare numeri con ordini di grandezza molto differenti utilizzando per la rappresentazione.
Fondamenti di Informatica
La Rappresentazione dell’Informazione
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 © 1999 Roberto Bisiani Overflow n Overflow  traboccamento Si verifica se il risultato di un’operazione non puo’ essere rappresentato con il numero di.
Rappresentazione dell'informazione
La codifica dei numeri.
Conversione binario-ottale/esadecimale
Rappresentazione dei numeri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri in virgola Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
I sistemi di numerazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri con segno ed in virgola Marco D. Santambrogio – Ver. aggiornata al 20 Marzo.
Transcript della presentazione:

Massimo Sartori, MSc (PhD Student) -- Massimo Sartori, MSc (PhD Student) Intelligent Autonomous Systems Laboratory (IAS-LAb) Department of Information Engineering, University of Padua Via dei Gradenigo, 35131-IT Tel. +39-049-827-7833 mail: sartori1@dei.unipd.it 1

Outline Integrazione Concetti di Java Notazioni Posizionali Sistema Decimale Sistema Binario Cenni di Algebra Booleana Sistema Esadecimale Conversioni da base generica a base 10 Conversioni da base 10 a base generica Rappresentazioni dei numeri nei calcolatori Rappresentazione di informazioni non numeriche nei calcolatori 2

Java Programming Language public class BankAccount{ public BankAccount(){...} public void deposit(double amount){...} public withdraw(double amount){...} public double getBalance(){...} public static void main(String[] args){ ... }

Java Programming Language public class BankAccount{ public BankAccount(){...} public void deposit(double amount){...} public withdraw(double amount){...} public double getBalance(){...} } public class BankAccountTester{ public static void main(String[] args){ ... BankAccount b = new .... } javac BankAccount.java BankAccountTester.java java BankAccountTester 4

Java Programming Language public class BankAccount{ public BankAccount(){...} public void deposit(double amount){...} public withdraw(double amount){...} public double getBalance(){...} } public class BankAccountTester{ public static void main(String[] args){ ... BankAccount b = new .... } Current Path javac -cp BankAccountTester.java java BankAccountTester 5

Java Programming Language a%b boolean operator, returns 0 or 1 a%b == 1 if a is divisible by b a%b == 0 if a is NOT divisible by b IEEEreminder(x,y) not a boolean operator returns the reminder of the division: x/y import java.lang.Math; 6

Notazioni Posizionali

Sistema Numerico Binario Sistema in base-2: rappresentazione di valori numerici usando 0 e 1 Anche per rappresentare: Immagini, Suoni, Caratteri testuali, ecc. Usato in tutti i Computer e apparecchi elettronici Tutti i dati presenti su di un PC sono rappresentati in Binario

Sistema Numerico Decimale Noi tutti conosciamo e utilizziamo il sistema numerico decimale (base-10) Valori numerici rappresentati per mezzo di dieci “simboli”: alfabeto = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} 2095.42 0.034 10234.666667 1236 n, k ≥ 0 alfabeto base virgola posizione 9

Notazione Posizionale in Base-10 alfabeto b = base-10 10

Notazione Posizionale in Base-2 base b = 2 alfabeto = {0, 1} bit n, b ≥ 0, alfabeto, Conversione da Binario a Decimale 11

Sistema Numerico Binario: Perché? Importante perché tutti gli strumenti elettronici di nuova generazione rappresentano le informazioni sottoforma di numeri binari: Macchine fotografiche e telecamere digitali PC Console Telefoni Cellulari Ricevitori Satellitari Digitali Televisioni Digitali (Plasma, LCD, HD) Lettori Mp3 Perché è più facile progettare un dispositivo elettronico capace di riconoscere solo due stati (0, 1) che dieci (0, 1, ... 9). Tali circuiti si chiamano Circuiti Digitali Un circuito digitale rappresenta il bit 0 con un valore di tensione negativo (- 5V) il bit 1 con un valore di tensione positivo (+ 5V) esempio: macchine fotografiche analogiche/digitali 12

Algebra Booleana I numeri binari sono stati resi “famosi” da George Boole (matematico britannico) che nel 1830 definì un’intera algebra basata su tali numeri detta Algebra Booleana. Tale algebra ha portato poi alla realizzazione di circuiti digitali e quindi all’evoluzione tecnologica attuale. Aritmetica Binaria: A B A+B riporto AB A-B prestito 00 0 0 00 0 0 01 1 0 01 1 1 10 1 0 10 1 0 11 0 1 11 0 0 esempio: macchine fotografiche analogiche/digitali 0011001 : 0101 = 00101 101 00101 000 0101 x 0101 0000101 0000 0011001 13

Notazione Posizionale in Base-16 base b = 16 alfabeto = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} La notazione esadecimale consente di rappresentare le informazioni binarie in modo convenientemente compatto. Utilizzata per riferirsi alle locazioni di memoria di un calcolatore Conversione da Esadecimale a Decimale 14

Notazione Posizionale in Base-16 base b = 16 alfabeto = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} La notazione esadecimale consente di rappresentare le informazioni binarie in modo convenientemente compatto. 7 B 9 1 15

Notazione Posizionale in Base-16 Perché raggruppamento di quattro bit? 0  0 1  1 2  10 3  11 4  100 5  101 6  110 7  111 8  1000 9  1001 A  1010 B  1011 C  1100 D  1101 E  1110 F  1111 16

Notazione Posizionale in Base-p base b = p alfabeto = {0, 1, 2, ..., p-1} Conversione dalla base p alla base 10: 17

Conversioni da Base Decimale a Base p 18

Conversione di Interi da Base-10 a Base-p 19

Esempio di Conversione da Base-10 a Base-2 Conversione del numero N=87 dalla base-10 alla base-2  6+1 = Numero di bit necessari per codificare N 0  000000 . 63  111111 log-2(87)=6.4 0/1 0/1 0/1 0/1 0/1 0/1 64 numeri  2 2 2 2 2 2 20

Esempio di Conversione da Base-10 a Base-2 Conversione del numero N=87 dalla base-10 alla base-2  d+1 = Numero di bit necessari per codificare N 0  000000 . 63  111111 log-2(87)=6.4 0  0000000 . 87  1010111 127  1111111 64 numeri 128 numeri 21

Esempio di Conversione da Base-10 a Base-2 Conversione del numero N=87 dalla base-10 alla base-2 for i=0 to 6 i=0, N=87 1  87 mod 2 43  87 div 2 i=1, N=43 1 43 mod 2 21  43 div 2 i=2, N=21 1  21 mod 2 10  21 div 2 i=3, N=10 0  10 mod 2 5  10 div2 i=4, N=5 1  5 mod 2 2  5 div 2 i=5, N=2 0  2 mod 2 1  2 div 2 i=6, N=1 1  1 mod 2 0  1 div 2 log-2(87)=6.4 22

Conversione di Frazionari da Base-10 a Base-p 23

Conversione di Frazionari da Base-10 a Base-p alfabeto = {0, 1, 2, ..., p-1} 24

Conversione di Frazionari da Base-10 a Base-p Parte Intera Parte Frazionaria Parte da calcolare 25

Conversione di Frazionari da Base-10 a Base-p Parte Intera Parte Frazionaria 26

Esempio Conversione da Base-10 a Base-2 Conversione del numero N=0.625 dalla base-10 alla base-2 27

Rappresentazione dei Numeri Interi nei Calcolatori 28

Rappresentazione dei Numeri Interi Relativi Le informazioni, numeriche o non, sono rappresentate in un elaboratore mediante elementi caratterizzati da una grandezza fisica (di solito di natura elettrica) che può assumere solo due valori (stati) che corrispondono alle cifre binarie 0 e 1. Si usa dire che ciascuno di questi elementi contiene un “bit”. Utilizzando sequenze di bit si possono rappresentare i numeri naturali (limitazioni dovute al numero finito di cifre). I numeri interi positivi in un calcolatore sono rappresentati con 16 o 32 bit. Corrisponde al tipo Int di Java 29

Interi Negativi: Rappresentazione in Ampiezza e Segno Metodo 1: Ampiezza e Segno Metodo 2: Complemento a Uno Metodo 3: Complemento a Due 30

Interi Negativi: Rappresentazione in Ampiezza e Segno Tale metodo utilizza il primo bit (quello più significativo) per indicare il segno. 0  segno + 1  segno - 31

Interi Negativi: Eccesso P Il numero relativo N rappresentato tramite la notazione binaria di N + P, dove M = numero di bit usati nella rappresentazione Esempio: M=4, P=8 il valore del numero rappresentato si ottiene sottraendo P al valore che si otterrebbe interpretando la notazione come rappresentativa di un numero naturale. dissimmetria 32

Interi Negativi: Complemento a uno 33

Interi Negativi: Complemento a due Metodo più diffuso La rappresentazione degli interi positivi corrisponde con quella dei primi numeri naturali Quella dei numeri negativi si ottiene aggiungendo una unità al complemento a uno. 34

Interi Negativi: Complemento a due Complemento a uno E’ il metodo più diffuso 35

Interi Negativi: Complemento a due Svantaggi: dissimetria del numero negativo in più Vantaggi: rappresentazione unica dello 0 struttura ciclica: aggiungendo una unità al massimo numero rappresentabile (+7) si ootiene il minimo (-8) operazioni aritmetiche coi numeri negativi utilizzando le stesse regole dei numeri positivi  considero negativi e positivi unitamente 36

Interi Negativi: Complemento a due Vantaggi: operazioni aritmetiche coi numeri negativi utilizzando le stesse regole dei numeri positivi  considero negativi e positivi unitamente 37

Interi Negativi: Overflow nel Complemento a due Il fenomeno di overflow (trasbordo) indica che il numero di bit a disposizione della rappresentazione non è sufficiente per rappresentare il risultato della somma corrente. si ha overflow se e solo se esiste un solo riporto sulle due colonne più significative Overvlow Overvlow 1 I riporti che si possono verificare a sinistra del bit di segno vanno ignorati purché si verifichi anche un riporto nel bit di segno stesso. Riporto a sinistra del bit di segno senza riporto nel bit di segno Riporto solo nel bit di segno e non a sinistra 1 1 Ok 38

Rappresentazione dei Numeri non Interi nei Calcolatori 39

Rappresentazione Fixed Point (Virgola Fissa) Viene definito: il numero di bit per la rappresentazione (16 o 32) la posizione del punto che rimane fissa parte intera  algoritmo conversione da base 10 a base 2 di numeri interi parte frazionaria  algoritmo conversione da base 10 a base 2 di numeri interi 40

Rappresentazione Floating Point (Virgola Mobile) metodo di rappresentazione dei numeri razionali in base-2, metodo di approssimazione dei numeri reali in base-2, metodo utilizzato dai processori per compiere operazioni matematiche in base-2, floating point  posso specificare la posizione del pumto di separazione decimale mediante il valore di un esponente numero di cifre dopo la virgola non fisso. notazione analoga alla notazione scientifica: Floating Point Unit deve essere presente all’interno del processore. 41

Rappresentazione Floating Point (Virgola Mobile) Vantaggi Floating Point rispetto a Fixed Point: può supportare un ampio numero di valori e quindi di dati Esempio: Fixed Point con 7 cifre decimali e virgola dopo la quinta cifra: 00000.00 00034.00 12345.43 99999.99 Floating Point con 7 cifre decimali 0.000001234567 0.000000 1.638956 127.7836 9999999.0 999999900000000.0 Svantaggi Floating Point rispetto a Fixed Point: c’è il bisogno di più spazio in memoria per memorizzare un numero floating point 42

Rappresentazione Floating Point nel Sistema Binario Nel sistema binario conviene usare come fattore di scala una potenza di due poiché in tal caso l’esponente indica direttamente il numero di posizioni di cui il punto binario va spostato: Rappresentazione floating-point binaria del numero R (base-10): Ricondurlo nella forma: Rappresentare separatamente i due numeri M ed E in binario. NOTA: E (esponente o caratteristica)  numero intero relativo solitamente rappresentato secondo la convenzione eccesso-P, M (mantissa)  numero razionale con una parte intera e una frazionaria rappresentato in virgola fissa e in ampiezza e segno 43

Rappresentazione Floating Point (Virgola Mobile) Inizio anni 80  non esisteva una convenzione universale sul floating-point: Calcolatori IBM: E  7 bit riferito alla base b=16 Calcolatori DIGITAL: E  8 bit riferito alla base b=2 1985  Standard IEEE 754 31 30 23 22 0 s e m esponente E=e-127 mantissa Parte frazionaria di M segno della mantissa ( 0= +, 1= - ) 44

Rappresentazione Floating Point (Virgola Mobile) virgola fissa col punto decimale implicitamente assunto alla destra del bit più significativo normalizzata  parte intera costituita da un unico bit pari a 1 (che non viene rappresentato) E: assume valori tra -127 e +128 è riferito alla base 2 31 30 23 22 0 s e m esponente E=e-127 mantissa Parte frazionaria di M segno della mantissa ( 0= +, 1= - ) 45

Rappresentazione Floating Point (Virgola Mobile) Ricondurlo nella forma: Rappresentare separatamente i due numeri M ed E.  mantissa normalizzata!! 31 30 23 22 0 0111101 00000000000000000000000 Esponente: -5 in notazione eccesso 127 Mantissa: hidden bit:1, tutti gli altri a 0 Bit di segno: 0 46

Rappresentazione Floating Point (Virgola Mobile) 11000011110100000000000000000000 1 10000111 10100000000000000000000 Esponente: in notazione eccesso 127 Mantissa Bit di segno E = e-127 = M =  S = 1  negativo 47

Intervallo Floating Point (Virgola Mobile) Qual è il numero con modulo più grande rappresentabile? 48

Intervallo Floating Point (Virgola Mobile) Qual è il numero con modulo più piccolo rappresentabile? ATTENZIONE: Overflow: Se il risultato di un’operazione è in modulo più grande del numero massimo rappresentabile Underflow: Se il risultato di un operazione è compreso tra zero e il minimo numero rappresentabile La distribuzione dei numeri rappresentabili non è uniforme; più densa vicino allo zero, rarefacendosi con l’aumentare del valore assoluto. 49

Floating Point (Virgola Mobile) Single Precision: E: 8 bit (eccesso 127), M: 23 bit (normalizzata), S=1 bit  32 bit Double Precision: E: 11 bit (eccesso 1023), M: 52 bit (normalizzata), S=1 bit  64 bit Quadruple Precision: E: 15 bit (eccesso 32767), M: 112 bit (normalizzata), S=1 bit  128 bit Double precision  numeri più grandi e più piccoli e distribuzione migliore 50

Floating Point (Virgola Mobile) Single Precision: E: 8 bit (eccesso 127), M: 23 bit (normalizzata), S=1 bit  32 bit Double Precision: E: 11 bit (eccesso 1023), M: 52 bit (normalizzata), S=1 bit  64 bit Quadruple Precision: E: 15 bit (eccesso 32767), M: 112 bit (normalizzata), S=1 bit  128 bit Double precision  numeri più grandi e più piccoli e distribuzione migliore 51

Rappresentazione delle Informazioni non Numeriche Double precision  numeri più grandi e più piccoli e distribuzione migliore 52

Rappresentazione delle Informazioni non Numeriche Anche le informazioni non numeriche vengono rappresentate per mezzo di bit Avendo a disposizione N bit si possono rappresentare simboli diversi Rappresentazione di Caratteri: Codice ASCII  Standard Universalmente Utilizzato Codifica a 7 bit  codici: caratteri alfabeto maiuscoli e minuscoli, cifre numeriche, segni di interpunzione, operatori aritmetici, caratteri speciali ($,%,&,#, etc.) Codici ASCII memorizzati in supporti fisici (memorie, hard-disks) da 8 bit (byte) e occupano le 7 posizioni meno significative. L’ottavo bit  bit di parità Trasmissione di informazioni  introduzione di errori  controllo in ricezione Double precision  numeri più grandi e più piccoli e distribuzione migliore 53

Rappresentazione delle Informazioni non Numeriche Codifica ASCII estesa: viene utilizzato un byte intero (8 bit)  no bit di parità codici da 0 a 127 coincidono con la codifica non estesa caratteri da 128 a 255: variabili variamente accettate, simboli altri alfabeti alcuni simboli matematici, simboli grafici Double precision  numeri più grandi e più piccoli e distribuzione migliore 54

Rappresentazione delle Informazioni non Numeriche Sistema di Acquisizione x(t) Double precision  numeri più grandi e più piccoli e distribuzione migliore 5, 10, 16.33, 14.367, … Campionamento di x(t) t 55

Nota sulle Unità di Misura Double precision  numeri più grandi e più piccoli e distribuzione migliore 56

Thank You robotics.dei.unipd.it