Rappresentazione di numeri interi e frazionari. 28 settembre 2015 (ore 9-11)

Documenti analoghi
Rappresentazione ottale e esadecimale. 22 settembre 2017

Algoritmi di conversione Rappresentazione ottale e esadecimale. 25 settembre 2018

Rappresentazione dell informazione. 27 settembre 2018

Rappresentazioni ottale ed esadecimale Barbara Masucci

Architettura degli Elaboratori

Elementi di informatica

Il linguaggio dei computer: rappresentazione in binario e algoritmi di conversione 20 settembre 2017

Codifica dell informazione numerica

Rappresentazione delle frazioni proprie Aritmetica in binario Barbara Masucci

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

Sistemi numerici: numeri senza segno

Rappresentazione dei numeri

ARCHITETTURA DEGLI ELABORATORI CLASSE 2 A.A. 2014/15. Docente: Vincenzo Auletta RAPPRESENTAZIONE DELL INFORMAZIONE

Argomenti trattati. Informazione Codifica Tipo di un dato Rappresentazione dei numeri Rappresentazione dei caratteri e di altre informazioni

1-Rappresentazione dell informazione

Informazione binaria: - codici binari, notazione binaria/ottale/esadecimale -

CONVERSIONE DA BASE 10 AD ALTRE BASI E VICEVERSA

Corso di Calcolatori Elettronici I A.A Lezione 2 Rappresentazione dei numeri: sistemi di numerazione posizionale ing. Alessandro Cilardo

Rappresentazione dell informazione. Rappresentazione dell informazione. Rappresentazione dell informazione. Codifica dei numeri

Dipartimento di Scienze Cliniche Applicate e Biotecnologie. Scienze psicologiche applicate

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1

Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano

Numeri e caratteri in binario. Prof.ssa Antonella Serra

La codifica dei numeri

La codifica binaria. Informatica B. Daniele Loiacono

1.2 Concetti base dell Informatica: Informazione

Calcolo numerico e programmazione Rappresentazione dei numeri

Esercitazioni - Informatica A

Rappresentazione e Codifica dell Informazione

Esame di Informatica. Facoltà di Scienze Motorie LE UNITA DI MISURA (1/4) LE UNITA DI MISURA (3/4) LE UNITA DI MISURA (2/4) Lezione 2

I.4 Rappresentazione dell informazione

Un ripasso di aritmetica: Rappresentazione decimale - limitazioni

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Corso di Calcolatori Elettronici I

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Seconda lezione. Rivediamo un po di definizioni principali Proseguiremo con nuovi codici

Conversione di un numero da binario a decimale

Rappresentazione dell informazione

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

Codifica binaria. Rappresentazioni medianti basi diverse

Corso di Sistemi di Elaborazione delle informazioni

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

Codifica di informazioni numeriche

La codifica binaria. Sommario

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Codifica dell informazione

La codifica digitale

Fondamenti di Informatica

I SISTEMI DI NUMERAZIONE Sistema di Numerazione

Codifica dell informazione

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Codifica dell informazione numerica. Matteo Re, Nicola Basilico,

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale

Rappresentazione dell informazione

Sistemi di numerazione

Fondamenti di Informatica

DIPARTIMENTO DI MATEMATICA E INFORMATICA SISTEMI OPERATIVI. Anno Accademico 2017/2018. Docente: ing. Salvatore Sorce

Lezione 2. Rappresentazione dell informazione

Rappresentazione dell Informazione

Codifica dell informazione numerica

Codifica dell informazione

Rappresentazione dell informazione

La codifica. dell informazione

Sistemi di numerazione

Corso di Sistemi di Elaborazione delle informazioni

LA CODIFICA DELL INFORMAZIONE. Prof. Enrico Terrone A. S: 2014/15

La Rappresentazione dell Informazione

La codifica. dell informazione

LA CODIFICA DELL INFORMAZIONE

Sistemi di numerazione

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Lezione 2. Rappresentazione dell informazione

Rappresentazione delle Informazioni. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Numerazione Simbolica

Rappresentazione dell informazione

Rappresentazione dell Informazione

Il sistema di numerazione posizionale decimale

SISTEMI DI NUMERAZIONE

Rappresentazione dell' informazione. Cenni, necessari per capire le caratteristiche dei tipi di dato e delle limitazioni dell'aritmetica del computer

Aritmetica dei Calcolatori Elettronici

A.A. 2018/2019. Linguaggi, Codifica e Rappresentazione dell Informazione FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Lezione 3. I numeri relativi

Algoritmi Istruzioni che operano su dati. Per scrivere un programma è necessario. che l esecutore automatico sia in grado di.

Algebra di Boole e porte logiche

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

Sistemi di numerazione. Sistema binario, o1ale, esadecimale Rappresentazione delle informazioni

La codifica dei numeri

La codifica binaria. Informatica B. Daniele Loiacono

Rappresentazione dell informazione

Informatica di Base - 6 c.f.u.

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

Transcript:

Rappresentazione di numeri interi e frazionari 28 settembre 2015 (ore 9-11)

Punto della situazione Vogliamo «dialogare» col computer: impariamo le rappresentazioni in binario Abbiamo visto la rappresentazioni degli interi positivi in binario e più in generale in notazione posizionale e alcuni algoritmi di conversione Oggi vedremo: la rappresentazione in base 8 e in base 16; la rappresentazione dei numeri con la virgola; il codice ASCII.

Avviso Giovedì 1 ottobre: lezione 9-13 Venerdì 2 ottobre: niente lezione!

Notazione binaria per numeri naturali In base 2. I simboli ammessi sono 0,1. Una sequenza / stringa di 0 e 1, di lunghezza n con a i {0, 1} per i = 0, 1,, n-1 rappresenta l intero N: a n-1 a n-2 a 1 a 0 N = (a n-1 a n-2 a 1 a 0 ) 2 = = a n-1 2 n-1 + a n-2 2 n-2 + + a 1 2 1 + a 0 2 0 In notazione compatta: N n 1 i 0 a i 2 i

Notazione posizionale (in base b generica) In base b. I simboli ammessi sono 0,1,, b-1. Una sequenza / stringa di 0, 1,, b-1, di lunghezza n a n-1 a n-2 a 1 a 0 con a i {0, 1,, b-1} per i = 0, 1,, n-1 rappresenta l intero N: N = (a n-1 a n-2 a 1 a 0 ) b = = a n-1 b n-1 + a n-2 b n-2 + + a 1 b 1 + a 0 b 0 In notazione compatta: N n 1 i 0 a i i b

Esempi (234) 10 (234) 8 2 2 10 3 10 4 2 2 8 3 8 4 234 156 10 10 (234) 16 2 2 16 3 16 4 564 10 (101) 10 (101) 8 2 1 10 0 10 1 2 1 8 0 8 1 101 65 10 10 (101) 2 2 1 2 0 2 1 5 10

Algoritmo di conversione: decimale in binario N = (a n-1 a n-2 a 1 a 0 ) 2 Dato N trovare a n-1, a n-2,, a 1, a 0 con a i = 0 o 1 Procedura inversa: dall alto verso il basso da a 0 ad a n-1 ; da LSD a MSD N= S 0 = S 1 2 +a 0 a 0 ed S 1 sono rispettivamente il resto e il quoziente della divisione di N= S S 1 = S 2 2 + a 0 per 2. 1 S 2 = S 3 2 + a 2 S i = S i+1 2 + a i S n-2 = S n-1 2 + a n-2 S n-1 = a n-1. a i ed S i+1 sono rispettivamente il resto e il quoziente della divisione di S i per 2.. Fino ad ottenere un S i =0. Algoritmo delle divisioni successive

Esempio 1 (decimale in binario) N=152 S 0 = N = a 0 +2 S 1 S 1 = a 1 + 2 S 2 S 2 = a 2 + 2 S 3.. S i = a i + 2 S i+1.. S n-1 = a n-1 N = (a n-1 a n-2 a 1 a 0 ) 2 S 0 = a 0 +2S 1 = 0 + 2 76 = 152 S 1 = a 1 +2S 2 = 0 + 2 38 = 76 S 2 = a 2 +2S 3 = 0 + 2 19 = 38 S 3 = a 3 +2S 4 = 1 + 2 9 = 19 S 4 = a 4 +2S 5 = 1 + 2 4 = 9 S 5 = a 5 +2S 6 = 0 + 2 2 = 4 S 6 = a 6 +2S 7 = 0 + 2 1 = 2 S 7 = a 7 +2S 8 = 1 + 2 0 =1 N = (10011000) 2 152 : 2 = 76 con resto 0 76 : 2 = 38 con resto 0 38 : 2 = 19 con resto 0 19 : 2 = 9 con resto 1 9 : 2 = 4 con resto 1 4 : 2 = 2 con resto 0 2 : 2 = 1 con resto 0 1 : 2 = 0 con resto 1 STOP

Conversione da decimale a base B

Numero di bit per rappresentare N E possibile prevedere il numero di bit necessari per rappresentare N in binario? Potevamo prevedere che per rappresentare N = 152 occorrevano 8 bit? E possibile rappresentare 152 con 7 bit? No, perché con 7 bit possiamo rappresentare tutti e soli gli interi da 0 a 2 7-1=127 E possibile rappresentare 152 con 8 bit? Si, perché con 8 bit possiamo rappresentare tutti gli interi da 0 a 2 8-1 = 255 In effetti: 2 7-1< 152 <= 2 8-1. Il minimo numero di bit necessari a rappresentare N in binario lo ottengo considerando log 2 N, arrotondandolo al più grande intero inferiore e sommando 1. log 2 152 = 7,. che arrotondato inferiormente dà 7, sommando 1: 8. Nota: 152 si può rappresentare anche con 9, 10, 11,.. bit: (152) 10 = (10011000) 2 = (010011000) 2 = (0010011000) 2 = (00010011000) 2

Notazione in base 8 / ottale In base 8. I simboli ammessi sono 0,1,, 7. Una sequenza / stringa di 0, 1,, 7, di lunghezza n a n-1 a n-2 a 1 a 0 con a i {0, 1,, 7} per i = 0, 1,, n-1 rappresenta l intero N: N = (a n-1 a n-2 a 1 a 0 ) 8 = = a n-1 8 n-1 + a n-2 8 n-2 + + a 1 8 1 + a 0 8 0 In notazione compatta: N n 1 i 0 a i 8 i

Conversione da ottale in decimale b = 8 rappresentazione ottale 2 (213) 8 2 8 1 8 3 139 010 001 011 Convertiamolo in decimale 2 7 +2 3 +2 1 +2 0 = =128+8+2+1 = 139 Valore identico 0 1 2 3 4 5 6 7 000 001 010 011 100 101 110 111 Sarà un caso?

Non è un caso! 0 1 0 0 0 1 0 1 1 = = (0 2 8 + 1 2 7 + 0 2 6 )+ (0 2 5 + 0 2 4 + 1 2 3 )+(0 2 2 + 1 2+ 1) = = (0 2 2 + 1 2 1 + 0) 2 6 + (0 2 2 + 0 2 1 + 1) 2 3 +(0 2 2 + 1 2+ 1) = = 2 2 6 + 1 2 3 + 3 2 0 = = 2 8 2 + 1 8 1 + 3 8 0 = ( 2 1 3) 8

Da binario a ottale N = (a 7 a 6 a 1 a 0 ) 2 = a 7 2 7 + a 6 2 6 + + a 1 2+ a 0 = (a 7 2 7 + a 6 2 6 )+ (a 5 2 5 + a 4 2 4 + a 3 2 3 )+(a 2 2 2 + a 1 2+ a 0 ) = = (a 7 2 1 + a 6 ) 2 6 + (a 5 2 2 + a 4 2 1 + a 3 ) 2 3 +(a 2 2 2 + a 1 2+ a 0 ) = = b 2 8 2 + b 1 8 1 + b 0 8 0 E inoltre b 2, b 1, b 0 sono compresi fra 0 e 7. (a 7 a 6 a 1 a 0 ) 2 = ( b 2 b 1 b 0 ) 8

Da binario ad ottale e viceversa Da binario ad ottale: Raggruppa i bit 3 a 3 da destra Ad ogni gruppo fai corrispondere la cifra in ottale (da 0 a 7) Da ottale a binario: Ad ogni cifra in ottale far corrispondere la rappresentazione binaria e concatenare Esempi:

Notazione in base 16 / esadecimale In base 16. I simboli ammessi sono 0,1,, 9, A, B, C, D, E, F. Una sequenza / stringa di 0, 1,, F, di lunghezza n a n-1 a n-2 a 1 a 0 con a i {0, 1,, F} per i = 0, 1,, n-1 rappresenta l intero N: N = (a n-1 a n-2 a 1 a 0 ) 16 = = a n-1 16 n-1 + a n-2 16 n-2 + + a 1 16 1 + a 0 16 0 In notazione compatta: N n 1 i 0 a i 16 i

Esempi (15F ) 16 = 1 16 2 + 5 16 1 + 15 16 0 = = 256+80+15 = 351 (C1A0 ) 16 = 12 16 3 + 1 16 2 + 10 16 1 + 0 16 0 = = 12 4.096+ 256 +160 = 49.568 (FFF ) 16 = 15 16 2 + 15 16 1 + 15 16 0 = = 4095 = 16 3 1 A = 10 B = 11 C = 12 D = 13 E = 14 F = 15 Per ottenere la rappresentazione esadecimale di un intero eseguo divisioni successive per 16 Es.: (675) 10 675 = 42 16 + 3 42 = 2 16 + 10 2 = 0 16 + 2 (675) 10 = (2A3 ) 16

Conversione diretta da esadecimale a binario b = 16 rappresentazione esadecimale 2 (203) 16 2 16 3 515 0010 0000 0011 2 9 2 1 1 515 Nemmeno questo è un caso!

Da binario a esadecimale e viceversa Da binario ad esadecimale: Raggruppa i bit 4 a 4 da destra Ad ogni gruppo fai corrispondere la cifra in esadecimale (da 0 a F) Da ottale a binario: Ad ogni cifra in esadecimale far corrispondere la rappresentazione binaria e concatenare Esempi: La motivazione è analoga a quella del caso ottale

Rappresentazione dei numeri con la virgola

Rappresentazione dei numeri con parte decimale Per rappresentare numeri con la virgola normalmente usiamo ancora il Il peso della cifra cambia sulla base della posizione Sistema Posizionale Pesato N = (a n-1 a n-2... a 1 a 0, a -1 a -2... a -m ) b (2425, 295 ) 10 2 10 3 + 4 10 2 + 2 10 1 + 5 10 0 + 2 10-1 + 9 10-2 + 5 10-3 Rappresentazione decimale

Sistema posizionale pesato N = (a n-1 a n-2... a 1 a 0, a -1 a -2... a -m ) b a i 0,1,2,..., b 1 b è chiamata base o radice Il valore di N sarà N n 1 i m a i i b N = (a n-1 a n-2... a 1 a 0, a -1 a -2... a -m ) b MSD della parte intera MSD= Most Significant Digit LSD = Less Significant Digit «Significant» rispetto al suo peso a i LSD della parte intera MSD della parte frazionaria LSD della parte frazionaria

Rappresentazione binaria (1011,110) 2 N = 1 2 3 + 0 2 2 + 1 2 1 + 1 2 0 + 1 2-1 + 1 2-2 + 0 2-3 Rappresentazione binaria N = 11, 75 ½ + ¼ = 3/4 = 0,75

Rappresentazione dei numeri decimali N = (a n-1 a n-2... a 1 a 0, a -1 a -2... a -m ) 2 a n-1 2 n-1 +a n-2 2 n-2 + + a 1 2 1 + a 0 2 0 + a -1 2-1 + + a -m 2 -m intero Frazione propria della forma 0,. cioè compresa fra 0 e 1

Conversione di frazioni: binario in decimale (0, a -1 a -2 a -m ) 2 Esempio: N = a -1 2-1 + a -2 2-2 + + a -m 2 -m N= (0,0011101) 2 N = 2-3 + 2-4 + 2-5 + 2-7 = 0,2265625

Da decimale a binario N = a -1 2-1 + a -2 2-2 + + a -m 2 -m 2 N = a -1 + ( a -2 2-1 + + a -m 2 -(m-1) ) Abbiamo isolato la MSD a -1 e S -1 = ( a -2 2-1 + + a -m 2 -(m-1) ) è una frazione propria Possiamo ripetere il procedimento per isolare a -2 2 S -1 = a -2 + (a -3 2-1 + a -m 2 -(m-1) ) etc etc.. dalla cifra più significativa alla meno

Conversione di Frazioni proprie: decimale in binario Dato N, trovare a -1, a -2,, a -m tale che N = (0, a -1 a -2 a -m ) 2 S 0 =N 2 S 0 = a -1 +S -1 2 S -1 = a -2 + S -2 2 S -2 = a -3 + S -3.. 2 S -i = a -(i+1) + S -(i+1).. Fino a quando? Fino a quando trovo un valore di S -i = 0 oppure abbia esaurito il numero di cifre a disposizione per la rappresentazione: approssimazione

Esempio 0,234 2 0,234 = 0 + 0,468 2 0,468 = 0 + 0,936 2 0,936 = 1 + 0,872 2 0,872 = 1 + 0,744 2 0,744 = 1 + 0,488 2 0,488 = 0 + 0,976 2 0,976 = 1 + 0,952 Decimale->Binario (0,0011101 ) 2

Vedremo poi la notazione in virgola mobile

Codifica informazioni non numeriche

Codice ASCII

Preparata p. 39

Esempio

Avviso Giovedì 1 ottobre: lezione 9-13 Venerdì 2 ottobre: niente lezione!