La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Massimo Sartori, MSc (PhD Student)

Presentazioni simili


Presentazione sul tema: "Massimo Sartori, MSc (PhD Student)"— Transcript della presentazione:

1 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, IT Tel mail: 1

2 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

3 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){ ... }

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 .... } javac BankAccount.java BankAccountTester.java java BankAccountTester 4

5 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

6 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

7 Notazioni Posizionali

8 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

9 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} 0.034 1236 n, k ≥ 0 alfabeto base virgola posizione 9

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

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

12 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

13 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 esempio: macchine fotografiche analogiche/digitali : 0101 = 00101 101 00101 000 0101 x 0101 0000 13

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. Utilizzata per riferirsi alle locazioni di memoria di un calcolatore Conversione da Esadecimale a Decimale 14

15 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. B 15

16 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

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

18 Conversioni da Base Decimale a Base p
18

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

20 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  . 63  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

21 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  . 63  log-2(87)=6.4 0  . 87  127  64 numeri 128 numeri 21

22 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  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

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

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

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

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

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

28 Rappresentazione dei Numeri Interi nei Calcolatori
28

29 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

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

31 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

32 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

33 Interi Negativi: Complemento a uno
33

34 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

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

36 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

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

38 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

39 Rappresentazione dei Numeri non Interi nei Calcolatori
39

40 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

41 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

42 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: Floating Point con 7 cifre decimali Svantaggi Floating Point rispetto a Fixed Point: c’è il bisogno di più spazio in memoria per memorizzare un numero floating point 42

43 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

44 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 s e m esponente E=e-127 mantissa Parte frazionaria di M segno della mantissa ( 0= +, 1= - ) 44

45 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 s e m esponente E=e-127 mantissa Parte frazionaria di M segno della mantissa ( 0= +, 1= - ) 45

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

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

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

49 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

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 50

51 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

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

53 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

54 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

55 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, , … Campionamento di x(t) t 55

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

57 Thank You robotics.dei.unipd.it


Scaricare ppt "Massimo Sartori, MSc (PhD Student)"

Presentazioni simili


Annunci Google