La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

-- Massimo Sartori, MSc (PhD Student) Intelligent Autonomous Systems Laboratory (IAS-LAb) Department of Information Engineering, University of Padua Via.

Presentazioni simili


Presentazione sul tema: "-- Massimo Sartori, MSc (PhD Student) Intelligent Autonomous Systems Laboratory (IAS-LAb) Department of Information Engineering, University of Padua Via."— Transcript della presentazione:

1 -- Massimo Sartori, MSc (PhD Student) Intelligent Autonomous Systems Laboratory (IAS-LAb) Department of Information Engineering, University of Padua Via dei Gradenigo, IT Tel mail:

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

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

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

6 Java Programming Language a%b boolean operator, returns 0 or 1 a%b == 1if a is divisible by b a%b == 0if 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;

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

10 Notazione Posizionale in Base-10 n, b 0alfabetob = base-10

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

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)

13 Algebra Booleana I numeri binari sono stati resi famosi da George Boole (matematico britannico) che nel 1830 definì unintera algebra basata su tali numeri detta Algebra Booleana. Tale algebra ha portato poi alla realizzazione di circuiti digitali e quindi allevoluzione tecnologica attuale. Aritmetica Binaria: A B A+B riportoAB A-B prestito x : 0101 =

14 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 Notazione Posizionale in Base-16 Conversione da Esadecimale a Decimale

15 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. Notazione Posizionale in Base-16 7 B 9 1

16 Perché raggruppamento di quattro bit? Notazione Posizionale in Base A 1010 B 1011 C 1100 D 1101 E 1110 F 1111

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

18 Conversioni da Base Decimale a Base p

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

20 Conversione del numero N=87 dalla base-10 alla base = Numero di bit necessari per codificare N / numeri Esempio di Conversione da Base-10 a Base-2

21 Conversione del numero N=87 dalla base-10 alla base-2 d+1 = Numero di bit necessari per codificare N numeri numeri Esempio di Conversione da Base-10 a Base-2

22 Conversione del numero N=87 dalla base-10 alla base-2 for i=0 to 6 i=0, N= mod div 2 i=1, N= mod div 2 i=2, N= mod div 2 i=3, N= mod div2 i=4, N=51 5 mod 22 5 div 2 i=5, N=20 2 mod 21 2 div 2 i=6, N=11 1 mod 20 1 div 2

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

24 alfabeto = {0, 1, 2,..., p-1}

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

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

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

28 Rappresentazione dei Numeri Interi nei Calcolatori

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

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

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 -

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

33 Interi Negativi: Complemento a uno

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.

35 Interi Negativi: Complemento a due Complemento a uno Complemento a due

36 Interi Negativi: Complemento a due 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

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

38 Interi Negativi: Overflow nel Complemento a due 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 1 Ok 11

39 Rappresentazione dei Numeri non Interi nei Calcolatori

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

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 allinterno del processore.

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

43 Rappresentazione Floating Point nel Sistema Binario Nel sistema binario conviene usare come fattore di scala una potenza di due poiché in tal caso lesponente indica direttamente il numero di posizioni di cui il punto binario va spostato: Rappresentazione floating-point binaria del numero R (base-10): 1.Ricondurlo nella forma: 2.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

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

45 Rappresentazione Floating Point (Virgola Mobile) mes mantissa Parte frazionaria di M esponente E=e-127 segno della mantissa ( 0= +, 1= - ) M: 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

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

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

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

49 Intervallo Floating Point (Virgola Mobile) Qual è il numero con modulo più piccolo rappresentabile? ATTENZIONE: Overflow: Se il risultato di unoperazione è 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 laumentare del valore assoluto.

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

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

52 Rappresentazione delle Informazioni non Numeriche

53 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. Lottavo bit bit di parità Trasmissione di informazioni introduzione di errori controllo in ricezione

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

55 Rappresentazione delle Informazioni non Numeriche Sistema di Acquisizione 5, 10, 16.33, , … Campionamento di x(t) t x(t)

56 Nota sulle Unità di Misura

57 Thank You robotics.dei.unipd.it


Scaricare ppt "-- Massimo Sartori, MSc (PhD Student) Intelligent Autonomous Systems Laboratory (IAS-LAb) Department of Information Engineering, University of Padua Via."

Presentazioni simili


Annunci Google