Modulo e segno Complemento a 1 (CA1) Complemento a 2 (CA2)

Похожие документы
Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Codifica binaria. Rappresentazioni medianti basi diverse

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

I.4 Rappresentazione dell informazione - Numeri con segno

Rappresentazione in complemento a 2: caratteristiche generali

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

Soluzioni Esercizi su rappresentazione binaria dell informazione

Informatica Generale 02 - Rappresentazione numeri razionali

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori

Lezione 3. I numeri relativi

La codifica digitale

Numeri interi (+/-) Alfabeto binario. Modulo e segno

Risoluzione degli esercizi proposti dall 1 al 6

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

Codifica dei Numeri. Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi

Rappresentazioni numeriche

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

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

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

Rappresentazione dei Dati

Codifica. Rappresentazione di numeri in memoria

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

Rappresentazione. Notazione in complemento a 2. Complemento a due su 3 e 4 bit Complemento a due

Calcolo numerico e programmazione Rappresentazione dei numeri

Aritmetica binaria e circuiti aritmetici

La codifica dei numeri

Rappresentazione dell Informazione

Rappresentazione binaria

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Aritmetica dei Calcolatori

Fondamenti di Informatica - 1. Esercizi A.A. 2011/2012

Aritmetica dei Calcolatori Elettronici

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

I.4 Rappresentazione dell informazione

Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2

APPUNTI DI INFORMATICA

1.2f: Operazioni Binarie

Транскрипт:

Codifica dei numeri interi con segno in base 2: Ci siamo occupati fino ad adesso di come il computer (base 2) rappresenta i numeri interi Occupiamoci ora di rappresentare i numeri interi col segno: Per rappresentare numeri con segno, occorre utilizzare un bit per definire il segno del numero Modulo e segno Complemento a 1 (CA1) Complemento a 2 (CA2) 1

Modulo e segno SEGNO MODULO (valore) il segno si indica nel bit più significativo 1 equivale a - 0 equivale a + il valore con il resto dei bit rispetto ai numeri interi sacrifichiamo un bit Essendo il bit più significativo quello del segno per semplicità decidiamo prima il numero dei bit che utilizziamo esempio con 4 bit abbiamo 1 bit per il segno e 3 bit per il modulo con 3 bit rappresentiamo da 0 a 2 3-1 ossia da 0 a 7 dunque da -7 a +7 in generale con n bit da (2 n-1-1) a + (2 n-1-1) Valore decimale Valore binario 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111-0 1000-1 1001-2 1010-3 1011-4 1100-5 1101-6 1110-7 1111 Come si nota lo zero ha 2 rappresentazioni Se faccio somma tra positivi e negativi il computer deve ragionare sul segno dunque occorre un circuito complicato. 2

Complemento a 1 (CA1) Anche in questo caso un bit serve per definire il segno del numero ma dal positivo al negativo si fa una semplice operazione : si invertono tutti i bit (0 diventa 1 e 1 diventa 0) esempio con 4 bit abbiamo 1 bit per il segno e 3 bit per il modulo con 3 bit rappresentiamo da 0 a 2 3-1 ossia da 0 a 7 dunque da -7 a +7 in generale con n bit da (2 n-1-1) a + (2 n-1-1) Valore decimale Valore binario 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111-0 1111-1 1110-2 1101-3 1100-4 1011-5 1010-6 1001-7 1000 Come si nota lo zero ha 2 rappresentazioni Se faccio somma tra positivi e negativi il computer deve ragionare sul segno dunque occorre un circuito complicato. 3

Complemento a 2 (CA2) Anche in questo caso un bit serve per definire il segno del numero ma dal positivo al negativo si fanno 2 operazioni : si invertono tutti i bit (0 diventa 1 e 1 diventa 0) si aggiunge 1 I numeri positivi sono rappresentati (come) in modulo e segno I numeri negativi sono rappresentati in complemento a 2 =>la cifra Più significativa ha sempre valore 1 Lo zero e rappresentato come numero positivo (con una sequenza di n zeri) Il campo dei numeri rappresentabili varia da -2 n-1 a +2 n-1-1 Esempio con 4 bit rappresento da dunque da -8 a +7 dal punto di vista della matematica con n bit per i numeri negativi x si calcola 2 n -x Per sapere il valore a cui corrisponde si considera il bit del segno come -2 n 2 n -x-2 n =-x 4

Valore decimale Valore binario Operazione che si fa per il modulo 0 0000 x => 2 n- x=16-x 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111-1 1110+ 16-15 = (1111) 2 ------- Il valore è 15-16=-1 1111-2 1101+ 16-2=14=(1110) 2 ------- Il valore è 15-16=-2 1110-3 1100+ 16-3=13=(1101) 2 ------- Il valore è 13-16=-3 1101-4 1011+ 16-4=12=(1100) 2 ------- Il valore è 12-16=-4 1100-5 1010+ 16-5=1(1011) 2 ------- Il valore è 11-16=-5 1011-6 1001+ 16-6=10=(1010) 2 ------- Il valore è 10-16=-6 1010-7 1000+ 16-7=9=(1001) 2 ------- Il valore è 9-16=-7 1001-8 1000 inverto 16-8=8=(1000) 2 0111+ Il valore è 8-16=-8 ------- 1000 Finalmente con questo formato lo zero ha una rappresentazione come gli altri 5

Addizione e sottrazione Utilizzando la rappresentazione in complemento a 2 n bit, addizione e sottrazione sono trattate come un unica operazione per FARE A-B si fa A + (2 n -B) PER AVERE IL VALORE CORRISPONDENTE DUE MODI SI SOTTRAE -2 n SI RIFA IL COMPLEMENTO A 2 1. Si calcola il complemento a 2 di B 2. Si somma A con il complemento a 2 di B 3. Si trascura il bit piu significativo del risultato se si eccede del numero bit utilizzati ESEMPIO 1 17-5 utilizzo 6 bit (010001) 2 -(000101) 2 = (17) 10 -(5) 10 Faccio CA2 di 5 (000101) 2 111010+ 111011 Siccome utilizzo 6 bit potevo convertire in binario 2 6-5=64-5=59 = (111011) 2 010001+ 11101 1001100 (12) N.B se utilizzo 6 bit eventuali bit eccedenti con li considero 0=> butto 7 bit 6

ESEMPIO 2 voglio calcolare 5-17 utilizzo 6 bit (000101) 2 -(010001) 2 = (5) 10 -(17) 10 Faccio CA2 di 17 (010001) 2 101110+ 101111 Siccome utilizzo 6 bit potevo convertire in binario 2 6-17=64-17=47 = (101111) 2 000101+ 10111 110100 32+16+4 = 52 Il numero è pertanto 52-2 6 =52-64 = (-12) 10 Un altro modo per vedere a quale numero negativo (bit più significativo=1) corrisponde è è rifare complemento a 2: A = CA2(CA2(A)) CA2(110100) => 001011 + 00000 001100 (12) 10 7

ESEMPIO 3 Calcolare 8-4 in binario 5 bit 8 vale in binario 01000 4 vale 00100 per fare il complemento a 2 Inverto 0 con 1 11011 Aggiungo 1 11011+ --------- 11100 16+8+4 = 28 01000+ (8) 11100= (Complemento a 2 di 4) 00100 4 (il bit eccedente lo butto) ESEMPIO 4 Calcolare 4-8 in binario 5 bit 4 vale 00100 8 vale in binario 01000 per fare il complemento a 2 pertanto 28-2 5 =28-32 = (-4) 10 Inverto 0 con 1 10111 Aggiungo 1 10111+ --------- 11000 (16+8)= 24 Pertanto 24-2 5 =24-32 = (-8) 10 00100+ (4) 11000= (Complemento a 2 di 8) 11100-4 infatti se facciamno il complemento a 2 otteniamo 4 Inverto 0 con 1 00011 Aggiungo 1 00011+ --------- 00100 Oppure faccio (11100) 2 =16+8+4=28 pertanto 28-2 5 =28-32 = (-4) 10 8