CORSO DI ARCHITETTURA DEGLI ELABORATORI Introduzione Sistemi di Numerazione

Documenti analoghi
04 Aritmetica del calcolatore

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

La codifica. dell informazione. (continua) Codifica dei numeri. Codifica dei numeri. Sono stati pertanto studiati codici alternativi per

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

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri Roberto Navigli

Corso di Architettura degli Elaboratori

La codifica. dell informazione

Algoritmi di conversione Rappresentazione ottale e esadecimale. 25 settembre 2018

Codifica binaria. Rappresentazioni medianti basi diverse

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

Corso di Architettura degli Elaboratori

La codifica dei numeri

Rappresentazioni ottale ed esadecimale Barbara Masucci

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

La codifica. dell informazione

Elementi di informatica

Rappresentazione ottale e esadecimale. 22 settembre 2017

Architettura degli Elaboratori

Elementi di informatica

UD 1.2e: La codifica Digitale dei Numeri CODIFICA DIGITALE DEI NUMERI

Modulo 1: Le I.C.T. UD 1.2e: La codifica Digitale dei Numeri

Elementi di informatica

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

La codifica dei numeri

Esercitazione del 03/03/ Soluzioni

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

La Rappresentazione dell Informazione

Informatica (Sistemi di elaborazione delle informazioni)

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore

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

Sistemi di numerazione

Calcolo numerico e programmazione Rappresentazione dei numeri

Esercitazione del 09/03/ Soluzioni

INFORMATICA DI BASE I FONDAMENTI

SISTEMI DI NUMERAZIONE

Esercitazione del 2/3/2010- Numeri binari e conversione

SISTEMI DI NUMERAZIONE POSIZIONALI

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Codifica dell informazione numerica

Aritmetica elementare

Rappresentazione dell informazione

Informatica, Informazione e Telecomunicazioni. La codifica dell informazione. Il concetto di informazione. Supporto e informazione

Interi positivi e negativi

ARITMETICA BINARIA. La somma viene eseguita secondo le regole per la somma di due bit, di seguito riportate:

Insegnamento Informatica CdS Scienze Giuridiche

Codifica dell informazione numerica

LA CODIFICA DELL INFORMAZIONE

Esercitazione 1 del 9/10/2013

CONVERSIONE BINARIO DECIMALE NB: Convertire in decimale il numero binario N = N =

INPUT COMPUTER OUTPUT

Codifica di informazioni numeriche

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

I.4 Rappresentazione dell informazione

Codifica binaria dell informazione

Rappresentazione e Codifica dell Informazione

Informazione binaria: notazione binaria

Informatica, Informazione e Telecomunicazioni. La codifica dell informazione. Supporto e informazione. Il concetto di informazione

Moltiplicazione. Divisione. Multipli e divisori

Codifica. Rappresentazione di numeri in memoria

Aritmetica elementare

Esercitazione del 05/03/ Soluzioni

Esercitazione 1 del 07/10/2011

1-Rappresentazione dell informazione

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

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori

Aritmetica dei Calcolatori Elettronici

Elementi di Informatica e Programmazione

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

Esercitazione 1 del 8/10/2014

Esercitazione 1 del 10/10/2012

Rappresentazione dell Informazione

La codifica dei numeri

Esercitazione Informatica I (Parte 1) AA Nicola Paoletti

Conversione di un numero da binario a decimale

APPUNTI DI INFORMATICA

N= a i b i. Numeri e numerali. Sistemi di Numerazione Binaria. Sistemi posizionali. Numeri a precisione finita

Lezione 2. Rappresentazione dell informazione

Fondamenti di Informatica

1.2e: La codifica Digitale dei Numeri

Abilità Informatiche e Telematiche

Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale

Laboratorio del 21/10/2010- Numeri binari e conversione

Dipartimento di Scienze Cliniche Applicate e Biotecnologie. Scienze psicologiche applicate

Lezione 2. Rappresentazione dell informazione

Semplificare la seguenti espressioni: a) [(A+ A)*(B*B)]+(A XOR A) + ( B XOR F) Soluzione: [ V * B ] + F + B B + B V

Sistemi di Numerazione Binaria

Sistemi di Numerazione Binaria a i b i. a m a m-1... a 0. a -1 a a -k

Esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Convertire in formato decimale i seguenti numeri binari:

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Sistemi di Numerazione Binaria

Lezioni di Informarica. Prof. Giovanni Occhipinti

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

Esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi

I sistemi di numerazione e la numerazione binaria

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

Politecnico di Bari Sede di Foggia. docente: Prof. Ing. Michele Salvemini

Sommario. Sistema binario. I Sistemi di numerazione. Codifica ASCII. Valori Numerici Negativi. Valori Numerici Reali. Posizionali e non posizionali

Calcolatori: Sistemi di Numerazione

Sommario. I Sistemi di numerazione Posizionale e non Posizionale (1/2) I Codici. I Codici I Sistemi di numerazione Posizionali e non posizionali

Transcript:

UNIVERSITÀ DEGLI STUDI DICAGLIARI Facoltà di Scienze Corso di Laurea in Informatica CORSO DI ARCHITETTURA DEGLI ELABORATORI Introduzione Sistemi di Numerazione Danilo Dessì danilo_dessi@unica.it

Tutor Tutor: Danilo Dessì Email: danilo_dessi@unica.it Skype: danilo_dessi Homepage: http://people.unica.it/danilodessi/ Ufficio: di fianco al Lab T (fronte Simaz) Intro

Obiettivi Obiettivi delle esercitazioni: Approfondire alcuni argomenti delle lezioni Saper programmare il processore didattico MIC1 linguaggio IJVM Saper programmare il processore 8088 assembly 8088 Prerequisiti: Saper programmare in un qualsiasi altro linguaggio di programmazione Materiale didattico: Le slides delle esercitazioni saranno caricate sia sulla pagina di Prof. Reforgiato sia sulla mia pagina personale. Intro

Organizzazione delle esercitazioni Orario: Mercoledì dalle 12.40 alle 13.30 Venerdì dalle 12.40 alle 13.30 Svolgimento: 15 20 minuti: esposizione argomento (architettura o istruzioni) Restante: esercizi da svolgere in aula (su carta o sul vostro pc) + soluzioni commentate IJVM nella prima parte del corso 8088 nella seconda Intro

Organizzazione delle esercitazioni (2) Perché seguire le esercitazioni: All esame vi verrà chiesto di risolvere esercizi di programmazione (sia con IJVM sia 8088) In aula vi posso aiutare subito Potete fare domande e siete invitati a farlo se non capite Nel caso di dubbi scrivetemi anche per email Se avete bisogno di ulteriori spiegazioni possiamo fissare degli appuntamenti Importante: Le esercitazioni NON sono obbligatorie Intro

Sistema di numerazione Un sistema di numerazione è composto da: Un insieme di cifre Un codice formato da un insieme di regole che permette di interpretare un gruppo di cifre Operazioni che permettono di ottenere nuovi codici partendo da altri codici Nei sistemi di numerazione che utilizzeremmo le cifre sono ordinate e assumono un valore posizionale Il sistema di numerazione più utilizzato nella vita di tutti i giorni è quello in base 10. In informatica si utilizzano quelli in base 2 (binario), 8 (ottale) e 16 (esadecimale) Posizione delle centinaia Posizione delle decine Posizione delle unità 1 5 7, 2 8 Posizione dei decimi Posizione dei centesimi

Sistema Binario. Conversione Decimale - Binario Il sistema binario è cosi caratterizzato: Insieme delle cifre = { 0, 1 } È un sistema posizionale Per convertire un numero da decimale a binario: 1. Il numero viene diviso per 2 e si calcolano il quoziente e il resto 1. Il resto può essere solo 0 o 1; le cifre del resto formano il numero binario 2. Il procedimento è ripetuto con i quozienti fino a quando non si arriva al valore 0 Il numero binario è dato dai resti «letti al contrario» Quozienti 17 1 8 0 4 0 2 0 1 1 0 Resti ( 17 )10 = (10001)2

Sistema Binario. Conversione Decimale - Binario Ogni posizione rappresenta 2 n In posizione 0 avrò 2 0 In posizione 1 avrò 2 1 Per convertire un numero da binario a decimale si moltiplica ogni cifra per il corrispondente 2 n e si fa la somma dei valori 1 0 0 0 1 2 4 2 3 2 2 2 1 2 0 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 16 + 1 = 17 (10001) 2 = (17) 10

Sistema Ottale Nel sistema ottale le cifre utilizzate sono = {0, 1, 2, 3, 4, 5, 6, 7} Per convertire un numero da decimale a ottale si procede come abbiamo fatto prima per il codice binario, ma questa volta dividiamo per 8 Per la conversione ottale-decimale valgono le stesse regole: andremmo questa volta a moltiplicare per 8 n 17 1 2 2 0 (21) 8 = (17) 10 2 * 8 1 + 1 * 8 0 = 16 + 1 = 17

Sistema Esadecimale Nel sistema esadecimale le cifre utilizzate sono = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} Per convertire un numero da decimale a esadecimale si procede allo stesso modo dividendo per 16 Per la conversione esadecimale-decimale valgono le stesse regole: andremmo questa volta a moltiplicare per 16 n 34 2 2 2 0 (22) 16 = (34) 10 2 * 16 1 + 2 * 16 0 = 32 + 2 = 34

Binario-Ottale & Binario-Esadecimale È possibile convertire direttamente un numero dalla sua rappresentazione binaria a una rappresentazione in base 8 o in base 16 Per convertire da binario in base 8 raggruppo i bit a gruppi di 3 da destra a sinistra (nel caso non sia possibile formare l ultimo gruppo si aggiungono 0) e ogni gruppo si converte nella cifra ottale corrispondente: (10111010001101) 2 = (27215) 8 010 111 010 001 101 2 7 2 1 5 Per convertirlo da binario in base 16 le cifre sono prese a gruppi di 4: (10111010001101) 2 = (2E8D) 16 0010 1110 1000 1101 2 E 8 D

Ottale-Binario & Esadecimale-Binario Per convertire un numero dalla sua rappresentazione ottale a quella binaria si prende ogni cifra e la si converte nella corrispettiva binaria utilizzando 3 bit: (37541) 8 = (011111101100001) 2 3 7 5 4 1 011 111 101 100 001 Per convertire un numero dalla sua rappresentazione esadecimale a quella binaria si prende ogni cifra e la si converte nella corrispettiva binaria utilizzando 4 bit: (5FA8C) 16 = (0101111110101000110) 2 = (101111110101000110) 2 5 F A 8 C 0101 1111 1010 1000 1100

Binario: numeri negativi Esistono quattro sistemi per rappresentare un numero negativo: Modulo e segno Complemento a 1 Complemento a 2 Notazione in eccesso 2 m-1 Nella rappresentazione modulo e segno il bit più significativo è utilizzato come bit di segno: vale 0 se il numero è positivo, 1 se il numero è negativo. Esempi usando 1 byte: +10 = 0 0001010-50 = 1 0110010 +15 = 0 0001111-15 = 1 0001111

Complementi Anche nella rappresentazione in complemento a 1 il bit più significativo è il bit di segno. Vale 0 se il numero è positivo, 1 se il numero è negativo. Il negativo di un numero si ottiene invertendo tutti gli 1 con 0 e viceversa. Esempi: -10 -> 00001010 -> 11110101-50 -> 00110010 -> 11001101 +15 -> 00001111-15 -> 00001111 -> 11110000 Anche nella rappresentazione in complemento a 2 il bit più significativo è il bit di segno. Vale 0 se il numero è positivo, 1 se il numero è negativo. Il negativo di un numero si ottiene calcolando il complemento a 1 e aggiungendo 1. -10 -> 00001010 -> 11110101 -> 11110110-50 -> 00110010 -> 11001101 -> 11001110 +15 -> 00001111-15 -> 00001111 -> 11110000 ->11110001 Il complemento a 2 si può ottenere anche complementando tutti i bit dopo il primo a 1 partendo da quelli meno significativi

Notazione in eccesso Nella rappresentazione in eccesso m, utilizzando m bit, ogni numero N è memorizzato come N + 2 m-1. Per esempio usando 8 bit ogni numero dovrà essere sommato con il valore 2 7 = 128. Esempi: -10 -> 118 -> 01110110-50 -> 78 -> 01001110 +15 -> 143 -> 10001111-15 -> 113 -> 01110001

La somma in binario La somma di due addendi binari inizia dai bit meno significativi e procede sommando i bit nelle posizioni corrispondenti. In caso di riporto si aggiunge alla colonna a sinistra come nell aritmetica in base 10 Se l operazione è eseguita in complemento a 1, l eventuale riporto sui bit più significativi viene sommato al bit meno significativo Se l operazione è in complemento a 2 l eventuale riporto viene scartato 15 + (-5) = ------- + 10 Complemento a 1 00001111 + 11111010 = ----------------- 1 00001001 + 1 ----------------- 00001010 Complemento a 2 00001111 + 11111011 = ----------------- 1 00001010

Esercizi Convertire in binario 84, 77, 103, 2016 Convertire in decimale (1000101) 2, (10110110) 2 Convertire in decimale e binario (41) 8, (135) 8 Convertire in decimale e binario (3D) 16, (A5B) 16 Convertire in ottale e esadecimale (111100001000) 2, (101100111001010) 2 Rappresentare utilizzando 8 bit in modulo e segno, complemento a 1, complemento a 2 e rappresentazione in eccesso 8: 27, -27, 127, -127 Sommare utilizzando 8 bit in modulo e segno, complemento a 1 e complemento a 2: 15 + 20-15 + 20 15 20-15 -20

Soluzioni Convertire in binario 84, 77, 103, 2016 84 0 77 1 42 0 38 0 21 1 19 1 10 0 9 1 5 1 4 0 2 0 2 0 1 1 1 1 0 0 Leggere i resti dal basso all alto 103 1 51 1 25 1 12 0 6 0 3 1 1 1 0 2016 0 1008 0 504 0 252 0 126 0 63 1 31 1 15 1 7 1 3 1 1 1 0

Soluzioni Convertire in decimale (1000101) 2, (10110110) 2 (1000101) 2 = 1 * 2 6 + 0 * 2 5 + 0 * 2 4 + 0 * 2 3 + 1 * 2 2 + 0 * 2 1 + 1 * 2 0 = 64 + 4 + 1 = 69 (10110110) 2 = 1 * 2 7 + 0 * 2 6 + 1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 1 * 2 2 + 1 * 2 1 + 0 * 2 0 = 128 + 32 + 16 + 4 + 2 = 182

Soluzioni Convertire in decimale e binario (41) 8, (135) 8 (41) 8 = (100 001) 2 (41) 8 = 4 * 8 1 + 1 *8 0 = 32 + 1= (33) 10 (135) 8 = (001 011 101) 2 (135) 8 = 1 * 8 2 + 3 * 8 1 + 5 *8 0 = 64 + 24 + 5 = (93) 10 Convertire in decimale e binario (3D) 16, (A5B) 16 (3D) 16 = (0011 1101) 2 (3D) 16 = 3 * 16 1 + 13 * 16 0 = 48 + 13= (61) 10 (A5B) 16 = (1010 0101 1011) 2 (A5B) 16 = 10 * 16 2 + 5 * 16 1 + 11 * 16 0 = 2560 + 80 + 11 = (2651) 10

Soluzioni Convertire in ottale e esadecimale (111100001000) 2, (101100111001010) 2 (111100001000) 2 = 111 100 001 000 = (7410) 8 (111100001000) 2 = 1111 0000 1000 = (F08) 16 (101100111001010) 2 = 101 100 111 001 010 = (54712) 8 (101100111001010) 2 = 0101 1001 1100 1010 = (59CA) 16

Soluzioni Rappresentare utilizzando 8 bit in modulo e segno, complemento a 1, complemento a 2 e rappresentazione in eccesso 8: 27, -27, 127, -127 N binario Modulo e segno Compl 1 Compl 2 Eccesso 8 27 00011011 0 0011011 0 0011011 0 0011011 10011011-27 1 0011011 1 1100100 1 1100101 01100101 127 01111111 0 1111111 0 1111111 0 1111111 11111111-127 1 1111111 1 0000000 1 0000001 00000001

Soluzioni 15 + 20 = ---- 35 Tutti e tre i casi 0 0001111 + 0 0010100 = -------------- 0 0100011-15 + 20 = ---- 5 Modulo e segno 0 0010100-1 0001111 = -------------- 0 0000101 Complemento a 1 1 1110000 + 0 0010100 = -------------- 1 0 0000100 + 1 --------------------- 0 0000101 Complemento a 1 1 1110001 + 0 0010100 = -------------- 1 0 0000101