Sei sulla pagina 1di 39

SISTEMI DI NUMERAZIONE

INTRODUZIONE
Il problema di esprimere la molteplicit, la numerosit degli elementi di un dato insieme, in definitiva il problema della RAPPRESENTAZIONE DELLA QUANTIT affonda le sue radici nella preistoria dell'uomo. Tracce di conteggi possono farsi risalire all'uomo di Neanderthal e di Cro-Magnon (oltre 25.000 anni or sono), l'ipotetica origine del calendario egizio datata al 4241 a.C. e gi nel III millennio in Mesopotamia era in uso una notazione numerica di tipo posizionale. Ogni civilt ha espresso, in qualche modo, le proprie nozioni di grandezza, forma, relazione, numero, a vari livelli di astrazione e con differenti risvolti concreti. Spetta, senza dubbio, alla civilt greca il merito, fra gli altri, di aver "fondato" la matematica, elevandola al rango di scienza secondo l'odierna accezione del termine; ci al di l della dottrina pitagorica del "misticismo del numero" (il cui motto sembra fosse: "tutto numero"), alla scuola pitagorica cionondimeno vanno attribuiti grandi meriti. Le antiche civilt della Cina e dell'India (il primo impero cinese risale a circa il 2750 a.C.) furono non meno importanti della civilt egiziana e babilonese nel contribuire a creare gli impianti basilari per la costruzione di una scienza speculativa e al tempo stesso sperimentale; purtroppo, non restano molte testimonianze di tali civilt (nel 213 a.C. l'imperatore cinese ordin di dare alle fiamme tutti i libri), spesso ostacolate nel loro sviluppo da brusche interruzioni. In particolare, il nostro sistema di notazione per i numeri interi deriva dal sistema indiano (per questo detto indo-arabo). con l'avvento della civilt araba che nelle teorie matematiche si registrano notevoli sviluppi sistematici, al punto da far attribuire al matematico al-Khuwarizmi (sec. IX) l'appellativo di "padre dell'algebra". La diffusione in Europa della numerazione indo-araba inizia con l'opera "Liber abaci" (1202) dell'italiano Fibonacci, testo che, attingendo da svariate fonti, divenne presto un classico del Medioevo. Le nostre dunque diversi un linguaggio ed operare con
prof. Felice Zampini 1/39

cifre decimali (dette spesso cifre arabe) hanno secoli di vita e tramite esse si potuto trovare pressoch universale per rappresentare la quantit essa (numeri ed operazioni).
Sistemi di Numerazione

Da un punto di vista primordiale (antropomorfo) si potrebbe essere indotti a considerare che gli esseri primitivi, non possedendo ancora il concetto di numero, potessero trasmettersi un'informazione concernente la quantit tramite una qualche azione, un gesto-simbolo atto ad esprimerla, a, diremmo oggi, codificarla. Presumibilmente, il sistema di numerazione decimale, ancora oggi considerato il pi "naturale" per l'uomo, fonda le sue origini sulla base della constatazione di poter esprimere una moltitudine di oggetti (numerosit degli elementi di un insieme) ricorrendo all'associazione "uno-uno" (corrispondenza biunivoca) tra gli oggetti costituenti quel dato insieme e le dita delle mani: il possedere 7 frecce o 7 figli (o 7 oggetti anche diversi) pu essere rappresentato e comunicato col gesto-simbolo che tutti conosciamo. Ma che fare qualora ci si trovi di fronte a moltitudini per le quali le nostre dita non si prestano pi a fornire una rappresentazione adeguata (basta superare il... 10, p. es. 17)? Raggruppare: esprimere, tramite un nuovo gesto-simbolo, il fatto di possedere "tante frecce quante sono le dita delle mani" (10) pi... 7 dita; cos, assumendo questo modo di procedere, 36 oggetti sarebbero espressi da:

3 gesti uguali ripetuti per rappresentare 3... decine (unit composte del primo ordine); 1 gesto per rappresentare 6... unit (semplici).

Come esercizio, lo studente cerchi di esprimere, nella logica suddetta, il numero 10 ed il numero 306 (col minor numero possibile di gesti e decidendo se il loro ordine ha importanza); si consideri inoltre la particolarit implicata dallo 0.

Il passaggio da questo "sistema di numerazione" di tipo psicogestuale ad un sistema di tipo simbolico o formalizzato appare conseguenzale qualora si stabiliscano dei simboli per rappresentare le unit semplici (dita) e delle regole che, iterando il procedimento del raggruppare (per dieci ma non necessariamente), consentano di rappresentare quantit via via crescenti (codifica dei gesti). Sulla scia delle considerazioni test svolte vediamo a quali conclusioni perverrebbero due ipotetici soggetti, l'uno impiegante 10 dita per le rappresentazioni numeriche (raggruppamenti per decine - sistema decimale) e l'altro solo le 5 dita di una mano (raggruppamenti per cinquine - sistema quinario), per esprimere ci che per noi comunemente il numero 17; esprimiamo tali conclusioni dal nostro punto di vista rappresentandole tramite cifre decimali, tenendo presente che per il soggetto che adotta il sistema quinario hanno senso solo le cifre: 0 1 2 3 4 (perch
prof. Felice Zampini 2/39 Sistemi di Numerazione

raggrupperebbe ogni 5 unit) invece che le 10 cifre del sistema decimale: 0 1 2 3 4 5 6 7 8 9. La situazione raffigurata nella slide SN01.

prof. Felice Zampini 3/39

Sistemi di Numerazione

Quale ulteriore esempio, si verifichino le rappresentazioni della stessa quantit (36 in decimale) di oggetti come mostrato nella slide (si noti che per raggruppamenti pi piccoli il numero di cifre necessarie per rappresentare la stessa quantit aumenta). In conclusione, i due soggetti arrivano ad esprimere la stessa quantit tramite rappresentazioni diverse (gestualit diverse) ed altrettanto vale dal nostro punto di vista simbolico (numeri diversi: 17 decimale equivale a 32 quinario); ci pur adottando, nei due casi, gesti o simboli (significativi) nell'ambito dello stesso set di gesti o di simboli (si noti che il numero quinario 32 da leggersi come "tre-due" e non "trentadue" il quale ha un significato decimale). Giova subito notare che nelle rappresentazioni simboliche (posizionali) le cifre costituenti un numero "pesano" diversamente in funzione del posto da esse occupato, cio in relazione all'ordine in cui sono scritte, rappresentando via via, a partire dalle unit semplici, raggruppamenti di ordine crescente (decine, decine di decine o centinaia, ecc.; cinquine, cinquine di cinquine o venticinquine, ecc.) procedendo da destra verso sinistra; p. es. nel numero quinario 121 (da leggere: "uno-due-uno") l'1 a destra rappresenta 1 unit semplice mentre quello di sinistra rappresenta una unit del secondo ordine, cio "pesa" 5x5=25 volte una unit semplice. I sistemi di numerazione in cui ogni cifra costituente un numero ha un valore assoluto (esprimente un certo numero di unit: unit semplici decimali, decine, centinaia... oppure unit semplici quinarie, cinquine, venticinquine... ) ed un valore relativo o peso (esprimente la molteplicit del raggruppamento) dipendente dalla posizione occupata dalla cifra nel numero, si dicono SISTEMI DI NUMERAZIONE POSIZIONALI (tale il sistema di numerazione decimale). Se un sistema di numerazione adotta b simboli per rappresentare le unit semplici allora si dice che esso un SISTEMA DI NUMERAZIONE IN BASE b ed ogni raggruppamento di b unit di un certo ordine viene a costituire un'unit di ordine immediatamente superiore (le unit semplici si dicono di ordine 0); per rappresentare un numero N in base b si usa la scrittura: Nb ( consuetudine non scrivere la base, dandola per sottintesa, quando trattasi di numeri decimali o quando le rappresentazioni non sono equivocabili). Riprendendo il precedente esempio, si pu scrivere: 36 = 448 = 1215. Come si pu facilmente intuire, esiste un legame tra il procedimento del raggruppare e l'operazione di divisione: dire che dal 36 decimale otteniamo il 44 ottale (che rappresenta la stessa quantit) per raggruppamenti ad ottetti di 36 oggetti equivale a
prof. Felice Zampini 4/39 Sistemi di Numerazione

dividere per 8 il 36 e considerare il quoziente (=4) come molteplicit delle unit di ordine superiore (4 ottetti) ed il resto (=4) come unit semplici.

prof. Felice Zampini 5/39

Sistemi di Numerazione

Analogamente, applicando iterativamente il procedimento suddetto dividendo per 5 il 36 si ottiene la sua rappresentazione in base 5 (il procedimento evidentemente si arresta quando il quoziente via via ricavato diventa minore di 5, cio della molteplicit della base), infatti: 36:5 = 7 + resto di 1 7:5 = 1 + resto di 2 percui: 3610 = 1215. Cerchiamo ora una metodica per esporre quanto visto in termini scientifici, esprimendoci secondo il linguaggio di una teoria formale. Per semplicit didattica si inizier dal sistema di numerazione decimale, generalizzando poi ai sistemi di numerazione (posizionali) in base generica (sistemi di numerazione in base b). ==> ==> 7 cinquine + 1 unit 1 venticinquina + 2 cinquine

prof. Felice Zampini 6/39

Sistemi di Numerazione

SISTEMA DI NUMERAZIONE DECIMALE


Il sistema di numerazione decimale un sistema di tipo posizionale (in base 10) in cui la quantit rappresentata tramite la seguente formalizzazione. SIMBOLI: 0 1 2 3 4 5 6 7 8 9 (10 cifre arabe). REGOLE: R1 Una sequenza di (una o pi) cifre dicesi numero. R2 Ogni cifra, in un numero, ha un valore assoluto ed un valore relativo o posizionale, cio un "peso" dipendente dal posto che essa occupa nel numero. R3 Si definisce Peso (decimale) di una cifra la grandezza P: P = 10p ove: p = posizione della cifra nel numero (a partire da 0 per le unit semplici e crescendo unitariamente a sinistra di esse, decrescendo unitariamente a destra se presente il separatore decimale). In base alle definizione poste, il numero 2721.905 (vedi pure slide SN01) si pu scrivere, come somma di termini pesati, nel modo seguente: 2721.905 = 2M + 7C + 2D + 1U + 9d + 0c + 5m cio, in forma matematica, come sommatoria dei prodotti delle cifre (valori assoluti) per i relativi pesi (valori posizionali); tale rappresentazione dicesi: Rappresentazione Polinomiale 2721.905 = 2*103 + 7*102 + 2*101 + 1*100 + 9*10-1 + 0*10-2 + 5*10-3 2000
prof. Felice Zampini 7/39

700

20

0.9

0.005

Sistemi di Numerazione

SISTEMI DI NUMERAZIONE IN BASE B


Si dice Sistema di Numerazione in Base b un sistema di numerazione, di tipo posizionale, che assume un insieme (finito) di b simboli (b=2,3,...,n), chiamati Cifre, e le seguenti Regole (assiomi) di rappresentazione numerica: R1 Il sistema di numerazione di tipo posizionale. R2 Si dice Peso di una cifra la grandezza: P = bp (p=posizione della cifra nel numero) R3 Ogni numero pu esprimersi come Rappresentazione Polinomiale. I sistemi di numerazione posizionale interessanti per l'informatica sono i seguenti: Sistemi DECIMALE OTTALE BINARIO ESADECIMALE Cifre 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 0 1 0 1 2 3 4 5 6 7 8 9 A B C D E F in base b pi

Note 1. 2. Si osservi che il formalismo adottato ben si adatta alle considerazioni intuitive precedentemente svolte. Ricorrendo alla rappresentazione polinomiale possibile passare dalla rappresentazione di un numero in base generica b alla equivalente rappresentazione decimale (vedi esempi seguenti; si vedr, tra poco, il procedimento matematico per convertire un decimale in base b e, in generale, le conversioni da base b1 a b2). Un numero in una data base non pu contenere simboli o cifre che non siano quelli per questa definiti (p.es. la scrittura 58 o 91 non avrebbe significato in base 8); il sistema esadecimale, e gli altri elencati, verranno ripresi nel seguito. La base di numerazione si denota come pedice al numero, salvo che non sia sottintesa (come , di norma, nei numeri decimali); un numero in base b, se non decimale, va specificato tramite le sue cifre e non con diciture decimali (p.es. 25 in base 8 va letto come "due-cinque" e 3B9 esadecimale come "tre-B-nove"). Nei sistemi di numerazione in base b si conservano le usuali regole note nel sistema decimale, percui operazioni e relazioni sono soggette Sistemi di Numerazione

3.

4.

5.

prof. Felice Zampini 8/39

a tali propriet; ci che cambia la base di numerazione, percui riporti, resti, ecc. devono essere relazionati ad essa.

prof. Felice Zampini 9/39

Sistemi di Numerazione

Allo scopo di comprendere meglio la logica dei sistemi di numerazione in base b, vediamo ora alcuni esempi di rappresentazioni ed operazioni commentandoli.

Esempi di rappresentazioni polinomiali numeriche in base b


2368 = 2*82 + 3*81 + 6*80 = 128+24+6 = 15810 1024.248 = 1*83 + 2*81 + 4 + 2*8-1 + 4*8-2 = 512+16+4+2/8+4/64 = 532.312510 234.25 = 2*52 + 3*51 + 4*50 + 2*5-1 = 50+15+4+2/5 = 69.410 1011012 = 1*25 + 0*24 + 1*23 + 1*22 + 0*21 + 1*20 = 32+0+8+4+0+1 = 4510

Esempi di addizione in base b Decimale 169+ 354= --11 --523 Ottale 256+ 45= --11 --323 Quinario 144+ 313= ---111 ---1012 Binario 1101+ 101= ----11 1 ----10010

Riporti

Si noti che si ottiene un riporto quando si uguaglia o si supera il valore della base di numerazione. Di conseguenza, in base 8, l'operazione da intendersi cos: 6+5=11, scrivo 3 e riporto 1 (unit del primo ordine o ottetto, poich 11:8=1 col resto di 3, cio in 11 c un ottetto e 3 unit semplici) incolonnando, e cos via. A titolo di prova, verifichiamo l'addizione ottale in base decimale:

Ottale 256+ 45= --323 = 2*82+5*81+6*80 = = 4*81+5*80 = = 3*82+2*81+3*80 =

Decimale 174+ 37= --211

Esempi di moltiplicazione in base b Decimale 34x 23= --102 68 --782


prof. Felice Zampini 10/39

Ottale 34x 23= ---124 70 ---1024

Quinario 34x 24= ---301 123 ---2031

Binario 101x 11= ---101 101 ---1111

Sistemi di Numerazione

Attenzione ai riporti! p.es. in base 5 si ha: 4x4=16, scrivo 1 e riporto 3 (16:5=3 cinquine), ecc.

prof. Felice Zampini 11/39

Sistemi di Numerazione

Esempi di sottrazione in base b Base 10 31587= --228 Base 8 10647= --37 Base 4 231123= --102 Base 2 1101110101= ----110

Si consideri lo schema dei "prestiti"; p.es. in base 4 per effettuare la sottrazione si ragioni cos: 1-3 non si pu fare, ci "prestiamo" quindi un'unit di ordine superiore (= 4 unit semplici) dal 3 della colonna delle unit del primo ordine, sicch abbiamo 5 unit, percui 5-3=2, ecc.; si applichi lo stesso ragionamento alla sottrazione in base 8, tenendo presente che: siccome lo 0 non pu cedere un'unit di ordine superiore allora si presta... La sottrazione si pu verificare ricorrendo alla sua definizione di operazione inversa dell'addizione; p. es. nel caso ottale (106-47) e binario (11011-10101) si ha:

Ottale 47+ 37= --106

Binario 10101+ 110= ----11011

Esempio di divisione in base b Come ulteriore esempio consideriamo una divisione in base 8, anche in questo caso l'operazione si pu verificare o convertendone i termini in decimale ed accertandone la congruenza o ricorrendo alla definizione di operazione inversa (la divisione l'inversa della moltiplicazione): 357|16 34 |21 -- | 17| 16| --| 1| 16x 21= --16 34 --356 + resto di 1 = 357

Confronto tra numeri in base b Dati due numeri (interi), x ed y, in base b il loro confronto si effettua in modo simile che nel caso decimale, cio:

x > y se x ha pi cifre (significative) di y;


Sistemi di Numerazione

prof. Felice Zampini 12/39

a parit di cifre (significative) maggiore il numero avente le cifre pi alte nei posti di peso maggiore.

prof. Felice Zampini 13/39

Sistemi di Numerazione

Sistema di Numerazione Esadecimale Il sistema esadecimale adotta i 16 simboli dianzi visti per rappresentare le cifre, estendendone il set rispetto agli altri; non essendo, allo scopo, sufficienti le cifre arabe la simbologia assume le prime 6 lettere maiuscole dell'alfabeto, cui si associano i seguenti valori: A B C D E F = = = = = = 10 11 12 13 14 15

Si faccia attenzione a non confondere il valore di un simbolo, che corrisponder a tante unit pesate esadecimali quanto il suo valore assoluto, col corrispondente valore decimale ad esso associato; p.es. la cifra esadecimale C rappresenta 12 (unit di un certo ordine, dipendentemente dalla sua posizione in un numero) ma non 12, infatti in base 16 al numero 12 compete la quantit decimale: 1*161+2*160=18. Come negli altri sistemi posizionali, lo sviluppo polinomiale (secondo le potenze del 16) di un numero esadecimale fornir l'equivalente rappresentazione decimale dello stesso. Spesso la base 16 sottintesa, qualora nel numero appaiano una o pi cifre letterali o esso non sia equivocabile.

Esempi 15A = 1*162 + 5*161 + 10*160 = 256+90+10 = 35610 BE.4 = 11*161 + 14*160 + 4*16-1 = 176+14+4/16 = 190.2510 3C9+ F7= --11 --4CO A918C7= --1CA 3Ax 13= --AE 3A --44E
Sistemi di Numerazione

FB14 > FA99 0FFF < 1000 9A > 99

prof. Felice Zampini 14/39

Generalizzazioni Rappresentazioni Un numero N in una data base b, Nb, rappresentabile, in un sistema di numerazione posizionale, con al massimo b simboli o cifre (sia: X=generico simbolo dei b simboli): Xb-1 Xb-2 ... X1 X0 secondo la rappresentazione polinomiale posizionale, ove p=0 per le unit semplici): (sia: p=valore

Xp*bp + Xp-1*bp-1 + ... + X1*b1 + X0*b0 + Xp-1*bp-1+... In forma compatta:

Nb = pXp*bp

Esempio: 234.25 CIFRE: 4 3 2 1 0 234.25 = Posizione Peso 2*52 + 3*51 + 4*50 + 2*5-1 = 69.410 2 52 1 51 0 50 -1 5-1

Si osservi che le rappresentazioni numeriche si allungano al diminuire di b (ci che, anche ad intuito, risulta immediato).

Esempio Decimale 10 96 255 Esadecimale A 60 FF Ottale 12 140 377 Binario 1010 1100000 11111111

Dato un sistema di numerazione in base b, con n (delle b) cifre si possono codificare bn caratteri diversi di un "alfabeto"
prof. Felice Zampini 15/39 Sistemi di Numerazione

(bn configurazioni o disposizioni distinte, come risulta Calcolo Combinatorio), cio numeri che vanno da 0 a bn-1.

dal

prof. Felice Zampini 16/39

Sistemi di Numerazione

Esempi (2 cifre) Binario Ottale Decimale 22=4 82=64 102=100 da: 00 da: 00 da: 00 da: 00 a: 11 (3) a: 77 (63) a: 99 (99) a: FF (255)

Esadecimale 162=256

Valgono le seguenti considerazioni


(per numeri interi con cifre significative)

Il max numero di n cifre vale: bn-1 Esempi 1112 = 23-1 = 7 = 1*22 + 1*21 + 1*20 = 7 7778 = 83-1 = 511 = 7*82 + 7*81 + 7*80 = 511 99910 = 103-1 = 999 = 9*102 + 9*101 + 9*100 = 999 FF16 = 162-1 = 255 = 15*161 + 15*160 = 255 (si noti che le cifre corrispondono sempre al valore b-1)

Il min numero di n cifre vale: bn-1 Esempi 1002 = 23-1 = 4 = 1*22 + 0 + 0 = 4 1008 = 83-1 = 64 = 1*82 + 0 + 0 = 64 10010 = 103-1 = 100 = 1*102 + 0 + 0 = 100 10016 = 163-1 = 256 = 1*162 + 0 + 0 = 256

Un numero in base pari pari/dispari se termina con cifra pari/dispari Esempi 1102 = 6 148 = 12 1A16 = 26 1012 = 5 138 = 11 1B16 = 27

prof. Felice Zampini 17/39

Sistemi di Numerazione

Il valore bn ha come rappresentazione un 1 seguito da n 0 Esempi 23 = 10002 83 = 10008 103 = 100010 16=1016

prof. Felice Zampini 18/39

Sistemi di Numerazione

Complementazione DEFINIZIONE: dato un numero di n cifre (significative) in base b si dice Complemento alla base di X la quantit CbX: CbX = bn-X

Esempi C1027 = 102-27 = 100-27 = 73 C21001 = 24-1001 = 10000-1001 = 0111 C161C = 162-1C = 100-1C = E4
(complemento decimale) (complemento binario) (complemento esadecimale)

Si noti che CbX + X = bn cio la somma del complemento e del numero restituisce la pi piccola unit di ordine n del numero di n cifre (minima unit di ordine immediatamente superiore al numero dato).

Si consideri, per ora, il seguente svolgere una sottrazione decimale: 348-27: 348-27+100-100 348+(100-27)-100 348+73-100 248+73 addizione decimale

modo

di

operare

per

sottrazione decimale applicaz. propr. invariantiva 100-27=73=C1027

= 321

= 321

Una sottrazione pu dunque trasformarsi in un'addizione tra il complemento alla base del sottraendo ed il minuendo scalato di una unit di ordine pari al numero di cifre del sottraendo. Equivalentemente, si pu procedere calcolando la somma tra minuendo e complemento del sottraendo e togliere poi ad essa una unit di ordine pari al numero di cifre del sottraendo, cio decrementare unitariamente l'unit di peso (posto) pari al numero di cifre del sottraendo (si ricordi che alle unit semplici stato attribuito posto o posizione 0). Vediamo un ulteriore esempio: 1348-27=1321 1248+73
prof. Felice Zampini 19/39

si trasforma in minuendo scalato di 1 nel posto delle unit


Sistemi di Numerazione

di ordine 2 + C1027; risultato = 1321

prof. Felice Zampini 20/39

Sistemi di Numerazione

oppure

1348+73=1421100= ---1321

1421 |-1 | 1321 semplificare alcune una sottrazione ad

La complementazione riesce utile per operazioni, in particolare per ricondurre un'addizione.

L'utilit del ricorso alle operazioni in complemento consiste, nei sistemi binari, nel fatto che cos facendo si viene a risparmiare il circuito per effettuare la sottrazione, implementandolo in modo pi semplice ed economico sulla base di un circuito addizionatore (l'argomento sar ripreso nel seguito).

prof. Felice Zampini 21/39

Sistemi di Numerazione

SISTEMA DI NUMERAZIONE ROMANO


Quale esempio di sistema di numerazione non posizionale vediamo il sistema di numerazione romano, sia per la sua importanza storica che per l'uso che se ne fa in diversi contesti ancora oggi. SIMBOLI I V X L C D M (sopralineatura)

Significato Decimale 1 5 10 50 100 500 1000 x1000


(moltiplica il numero per 1000)

REGOLE

Si possono scrivere max 3 simboli uguali adiacenti. Un simbolo di valore minore sottratto a quest'ultimo. a sinistra di un altro va

Un simbolo di valore maggiore o uguale a destra di un altro va sommato a quest'ultimo.

Esempi
__

MCMXCIII = 1993

MDCCCLXXVII = 1877

VI = 6000

Come si pu facilmente vedere, il sistema di numerazione romano risulta essere semi o pseudo-posizionale di tipo additivo/sottrattivo.

prof. Felice Zampini 22/39

Sistemi di Numerazione

SISTEMA DI NUMERAZIONE BINARIO


Come gi visto, il sistema di numerazione binario un sistema posizionale in base 2 che adotta come simboli le 2 cifre binarie 0 ed 1; tale sistema, pur essendo poco pratico da interpretare per l'uomo (rappresentazioni lunghe ed inadatte), il migliore per rappresentare l'informazione nei sistemi digitali (il cui "linguaggio" di tipo binario). Abbiamo altres visto che dati n bit si possono codificare 2n simboli, di conseguenza si possono rappresentare numeri nell'intervallo: 0 2n-1 Con riferimento alla base di numerazione, s' pure detto che le regole e le propriet formali valide nell'aritmetica decimale vengono conservate in base b generica, quindi in base 2. Nel che uno valgono risp. 0 potenze caso binario, la rappresentazione polinomiale non altro sviluppo delle potenze del 2, i cui termini sono nulli o il loro peso a seconda che la cifra corrispondente sia o 1 (per un numero composto di n cifre significative le vanno da 0 a n-1). Esempio: 1 25 32 32 0 24 16 0 1 23 8 8 1 22 4 4 0 21 2 0 1 20 1 1

101101 = 1+4+8+32 = 45 Le "tabelline pitagoriche" in base 2, pi precisamente le tavole di addizione e di moltiplicazione, sono semplicemente le seguenti: + | 0 0 | 0 1 | 1 1 1 10
Riporto

* | 0 0 | 0 1 | 0

1 0 1

--|------

--|-----

prof. Felice Zampini 23/39

Sistemi di Numerazione

Esempio di addizione binaria 10111+ 1011= ----100010 Esempio di moltiplicazione binaria 101x 11= ---101 101 ---1111

Verifica 23+ 11= -34 Verifica 5x 3= -15

Circa le operazioni di sottrazione e di divisione si ricordi che esse sono definibili come operazioni inverse risp. dell'addizione e della moltiplicazione. In particolare, come gi accennato, la sottrazione riconducibile ad un'addizione rappresentando il sottraendo in complemento binario (con conseguente risparmio in termini di circuiti nella progettazione elettronica digitale). Esempio di sottrazione binaria 1010001101= ----00111 Esempio di divisione binaria 11100|1001 1001 |11 ---- | 01010| 1001| ----| 0001| Verifiche 2013= -7 Verifiche 28|9 27|3 --| 1| 1001x 11= ----1001 1001 ----11011+ 1= ----11100 01101+ 00111= ----10100

Ricordiamo inoltre che: Il max numero binario di n cifre vale: 2n-1 Esempio: 1111=24-1=15 Il min numero binario di n cifre vale: 2n-1 Esempio: 1000=24-1=8 Un numero binario terminante per 0/1 pari/dispari prof. Felice Zampini 24/39 Sistemi di Numerazione

Esempio: 1001=5, 1100=6 n ha come rappresentazione binaria un 1 seguito da n 0 2 Esempio: 32=25=100000.

prof. Felice Zampini 25/39

Sistemi di Numerazione

Operazioni in Complemento Dato un numero binario X di n cifre (significative) il suo Complemento binario la quantit C2X: C2X = 2n-X Esempio: C21001 = 24-1001 = 10000-1001 = 0111 9 16 9 16 9 7 numero

Premettiamo che si dice Complemento ad uno di un binario il numero che si ottiene invertendone tutti i bit. Esempio: 10110011 01001100 numero complemento ad 1.

Per determinare il complemento binario di un numero, invece di procedere secondo le definizioni, come fatto fino ad ora, si possono seguire 2 regole pratiche di complementazione che consentono di snellire il procedimento. Consideriamo il numero binario di 8 bit: 10100010 (162 decimale), in base alla definizione di complemento a 2 il complemento binario di tale numero dato da: 28-10100010 = 100000000-10100010 che dovrebbe corrispondere al decimale 94 (256-162=94), infatti, facendo i calcoli si ha: 10000000010100010= --------001011110 269162= --94

quindi: C210100010 = 01011110

prof. Felice Zampini 26/39

Sistemi di Numerazione

ove lo 0 non significativo pi a sinistra del numero si conservato per pareggiare le cifre rispetto al numero dato, di modo che sia questo che il suo complemento vengano rappresentati dallo stesso numero di bit.

prof. Felice Zampini 27/39

Sistemi di Numerazione

Si noti che il pareggiamento delle cifre importante per fare le operazioni in complemento; d'altronde, pensando, p.es. di complementare 1 byte ci sarebbe necessario, in quanto 1 byte, anche prescindendo dalla interpretazione numerica dei suoi bit, deve contenerne comunque 8.
Il PAREGGIAMENTO DELLE CIFRE di un numero (rispetto ad un altro o ad un dato parametro) si effettua inserendo degli zeri (0) non significativi alla sinistra del numero; la cifra binaria pi significativa, o bit di peso maggiore - pi a sinistra - di una stringa binaria viene anche denominata MSB-Most Significant Bit (e la cifra meno significativa, o bit di peso minore - pi a destra - viene denominata LSB-Least Significant Bit).

Lo stesso risultato complementazione seguenti.

si

raggiunge

tramite

le

regole

di

1a regola pratica di complementazione binaria Dato un numero binario X


10100010 ==> ==> 01011101 01011101+ 1= --------

Calcolare il suo complemento ad 1 C1X Aggiungere un 1 al LSB di C1X

Risultato = complemento binario C2X

==>

01011110

2a regola pratica di complementazione binaria Dato un numero binario X il suo complemento binario si determina nel modo seguente: copiare tutte le cifre di X, a partire da destra, sino al primo 1 (incluso) cos come sono, copiare le restanti cifre invertendole. 1 0 1 0 0 0 1 0 | | | | | | | | 0 1 0 1 1 1 1 0

Vediamo ora la procedura da seguire per effettuare una sottrazione binaria trasformandola in una particolare addizione,

prof. Felice Zampini 28/39

Sistemi di Numerazione

introducendo, come esemplificato binario del sottraendo.

in

precedenza,

il

complemento

prof. Felice Zampini 29/39

Sistemi di Numerazione

Descriviamo la procedura tramite un esempio.

Si voglia calcolare: 100010-11011

10001011011= ------

Risultato della sottrazione

==>

000111 = 111

Il minuendo (m) ha 6 cifre Il sottraendo (s) ha 5 cifre


100010 11011 |||||| 011011 100101 ==> 100010+ 100101= ------==> 1000111 1000111 000111 = 111

PAREGGIARE CALCOLARE

LE CIFRE DI S S

==> ==>

COMPLEMENTARE

(C2s) m+C2s

LA SOMMA :

TRASCURARE MSB

DELLA SOMMA

==> ==>

Risultato della sottrazione

Nota In informatica ed in elettronica si definiscono diverse operazioni (complemento, shift, rotate) in modo da trarne vantaggi ai fini dello svolgimento, sia logico che elettronico, di operazioni e funzioni riguardandole dal "punto di vista" della macchina; per l'approfondimento di tali questioni si rimanda al seguito e ai corsi di elettronica digitale.

prof. Felice Zampini 30/39

Sistemi di Numerazione

ARITMETICA FINITA
La necessit di dover rappresentare i numeri all'interno di un elaboratore tramite un certo numero di bit, comunque finito, implica l'impossibilit pratica di poter esprimere valori numerici costituiti da successioni infinite di cifre (p.es. numeri periodici o irrazionali); l'aritmetica dell'elaboratore pertanto, riconducendosi alla considerazione di numeri finiti, un'aritmetica finita. Le rappresentazioni numeriche in aritmetica finita possono dar luogo, qualora le grandezze chiamate in gioco superino le capacit di rappresentazione del sistema di elaborazione, a situazioni di "traboccamento" per eccesso positivo o negativo, situazioni di errore in genere denominate: - Overflow; - Underflow. Un'altra particolare situazione numerica di errore causata qualora si cerchi di compiere una divisione per zero (zerodivide). I metodi pi noti per passare a rappresentazioni numeriche finite sono quelli basati sui criteri di: - Troncamento; - Arrotondamento. In relazione agli insiemi numerici, il problema che si presenta nella definizione di un'algebra dell'elaboratore quello di stabilire se per tali algebre valgono le note propriet delle corrispondenti algebre matematiche. La risposta a tale quesito , in generale, negativa. Infatti, dovendosi trattare nell'elaboratore numeri finiti, gli insiemi numerici matematici corrispondenti verranno "ridotti" ad insiemi strutturalmente diversi (per approssimazioni dovute ad arrotondamento o troncamento) e le algebre su di essi applicabili saranno
ALGEBRE DISCRETE SU ELEMENTI A RAPPRESENTAZIONE FINITA

ove potranno perdere di generale validit talune propriet matematiche tipiche (p.es. la propriet associativa e distributiva, le regole di semplificazione). Tali questioni, per il riprese quando si parler di momento solo introdotte, verranno

RAPPRESENTAZIONI INTERNE DEI DATI NELL 'ELABORATORE

prof. Felice Zampini 31/39

Sistemi di Numerazione

in particolare di rappresentazione dei numeri reali (vedasi la dispensa Dati).

prof. Felice Zampini 32/39

Sistemi di Numerazione

CONVERSIONE DI BASE
In precedenza abbiamo visto che dato un numero in base b la sua rappresentazione polinomiale fornisce l'equivalente valore decimale del numero; in altri termini, tramite la rappresentazione polinomiale si effettua la conversione di rappresentazione del numero da base b a base decimale. Si vuole ora vedere come si pu passare dalla rappresentazione di un numero in base b1 alla equivalente rappresentazione in base b2, cio come si effettua in generale la conversione di base di un numero. Premesso che nota la rappresentazione di un numero in una data base esso si pu rappresentare in una nuova base, consideriamo il caso pi generale dei numeri reali. Un numero reale contraddistinto da: - Segno; - Parte intera; - Parte decimale. La conversione di base si effettua nel modo seguente: SEGNO PARTE PARTE
INTERA DECIMALE

SI

CONSERVA ; DELLE

PROCEDIMENTO

DIVISIONI SUCCESSIVE;
DELLE

PROCEDIMENTO

MOLTIPLICAZIONI SUCCESSIVE.

Divisioni Successive Il numero dato (parte intera) si divide per la base in cui si vuole convertire, iterativamente fino ad esaurire l'operazione (quoziente=0): i resti della divisione costituiscono il numero convertito (l'ultimo resto corrispondendo alla cifra pi significativa). Esempio: conversione di 5710 in base 2, 8 e 16 57|2 28|2 14|2 7|2 3|2 1|2 0|
prof. Felice Zampini 33/39

1 0 0 1 1 1 Resti

57|8 7|8 0|

1 7 Resti 718

57|16 3|16 0|

B 3 Resti 3B16

Sistemi di Numerazione

1110012

prof. Felice Zampini 34/39

Sistemi di Numerazione

Si verifichi, per esercizio, l'esattezza delle (ricorrendo alle rappresentazioni polinomiali), uguaglianze: 5710 = 1110012 = 718 = 3B16.

conversioni cio le

Moltiplicazioni successive Il numero dato (parte decimale) si moltiplica per la base in cui si vuole convertire, iterativamente fino ad esaurire (1): i riporti della moltiplicazione l'operazione se possibile costituiscono il numero convertito (il primo riporto corrispondendo alla cifra pi significativa).
(1) Il passaggio di base non conserva necessariamente la finitezza delle rappresentazioni; qualora il procedimento delle moltiplicazioni successive non abbia termine esso dovr essere iterato fino al raggiungimento dell'approssimazione consentita o desiderata (individuando eventualmente se si ha un numero periodico).

Esempio: conversione del decimale 0.3125 in binario Riporti 0.3125x2 0.625 x2 0.25 0.5 0 Si verifichi, per esercizio, l'esattezza della conversione e che (nota 1) il decimale 0.35 periodico espresso in base 2. In generale, la conversione di base da base generica b1 a base generica b2 si effettua secondo 3 metodi:
1.

0 1 0 1 0.312510 = 0.01012

x2 x2

Si converte il numero da base b1 a decimale tramite la sua rappresentazione polinomiale, quindi si converte il numero da base 10 a base b2 applicando i procedimenti delle divisioni/moltiplicazioni successive. Esempio: conversione di 1208 in esadecimale

prof. Felice Zampini 35/39

Sistemi di Numerazione

1208=1*82+2*8+0=9010

90|16 5|16 0|

0 5

1208=5016

prof. Felice Zampini 36/39

Sistemi di Numerazione

2.

Si converte il numero direttamente da base b1 a base b2, eseguendo le operazioni su rappresentazione in base b1. Esempio: conversione di -11101.1012 in ottale

La base 8 ha in base 2 la rappresentazione: 1000; applicando il procedimento delle divisioni successive alla parte intera e delle moltiplicazioni successive alla parte decimale si ha: 11101|1000 11|1000 0| 101 = 58 11 = 38 0.101x1000 000 101 = 58

-11101.1012 = -35.58
3.

Se b2 = b1k (k intero > 1) si considerano allineamenti di gruppi di k cifre del numero dato in base b1 (da destra a sinistra per la parte intera, da sinistra a destra per la parte decimale, eventualmente completando con zeri non significativi, risp. a sinistra e a destra, gli ultimi gruppetti): la rappresentazione polinomiale di ogni gruppetto cos ottenuto, considerato isolatamente, fornisce la corrispondente cifra del numero convertito in base b2. Questo terzo metodo, particolarmente rapido, generalmente applicato nelle conversioni tra i sistemi di numerazione pi interessanti per l'informatica, cio binario-ottale e binario-esadecimale. Si noti che il metodo "invertibile": per passare da base b2 a b1 basta considerare gruppi di k cifre in base b1 ciascuno associato e di valore equivalente ad ogni cifra in base b2. Esempio: conversione di 1110101101.01011012 in Hex ed ottale

Siccome: 8=23 e 16=24 si ha:

prof. Felice Zampini 37/39

Sistemi di Numerazione

Si noti che la conversione dell'esempio precedente: 1208=5016 si pu ottenere pure passando per la base 2 anzich per la base 10, mentre la conversione: -11101.1012 = -35.58 si pu ottenere direttamente con questo metodo.

prof. Felice Zampini 38/39

Sistemi di Numerazione

Esempio: conversione di A9Hex in base 2 ed in base 4 Siccome: 24=16 e 42=16 si ha: A9 = 101010012 A9 = 22214

Si noti che la cifra meno significativa dei gruppetti dopo il separatore decimale quella pi a destra, percui gli zeri di pareggiamento assumono qu valore significativo.

prof. Felice Zampini 39/39

Sistemi di Numerazione