Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Algebra del calcolatore, Dispense di Informatica Industriale

Riassunto algebra del calcolatore

Tipologia: Dispense

2020/2021

Caricato il 13/06/2021

MarioRossiks
MarioRossiks 🇮🇹

3.9

(16)

14 documenti

1 / 10

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Dispensa UD4
L’ALGEBRA DEL CALCOLATORE
Algebra modulare modulo K
Le regole con le quali il calcolatore esegue le operazioni algebriche sono vincolate dal
fatto che l’elaboratore può trattare lunghezze prefissate di stringhe numeriche, segno
compreso. Pertanto, l’algebra del calcolatore prende il nome di Algebra modulare
modulo K, caratterizzata dove le stringhe rappresentanti i numeri sono di lunghezza
prefissata (K), segno compreso. Ne consegue che, al fine di capire come si comporta
l’elaboratore nel trattare i numeri con segno, siamo costretti, nei prossimi paragrafi, a
studiare le caratteristiche di questa algebra, a cominciare dall’operazione di
complementazione, alla base di tutte le rappresentazioni di numeri con segno.
Complementazione di un numero
Dato un numero n, espresso in qualsiasi sistema di numerazione, definiamo:
Def. Complemento alla base b di n:
Cb = bk n (1)
Esempi
Dato il numero n=1310, con K=2, abbiamo:
Cb = bk – n = 102-13=8710
Passiamo ora a definire l’altra operazione importante su un numero n:
Def. Complemento diminuito di n:
1
pf3
pf4
pf5
pf8
pf9
pfa

Anteprima parziale del testo

Scarica Algebra del calcolatore e più Dispense in PDF di Informatica Industriale solo su Docsity!

Dispensa UD L’ALGEBRA DEL CALCOLATORE

Algebra modulare modulo K

Le regole con le quali il calcolatore esegue le operazioni algebriche sono vincolate dal fatto che l’elaboratore può trattare lunghezze prefissate di stringhe numeriche, segno compreso. Pertanto, l’algebra del calcolatore prende il nome di Algebra modulare modulo K, caratterizzata dove le stringhe rappresentanti i numeri sono di lunghezza prefissata (K), segno compreso. Ne consegue che, al fine di capire come si comporta l’elaboratore nel trattare i numeri con segno, siamo costretti, nei prossimi paragrafi, a studiare le caratteristiche di questa algebra, a cominciare dall’operazione di complementazione, alla base di tutte le rappresentazioni di numeri con segno.

Complementazione di un numero

Dato un numero n, espresso in qualsiasi sistema di numerazione, definiamo: Def. Complemento alla base b di n:

Cb = b

k

– n (1)

Esempi Dato il numero n=13 10 , con K=2, abbiamo:

Cb = b

k

– n = 10

2

Passiamo ora a definire l’altra operazione importante su un numero n: Def. Complemento diminuito di n:

C d = b k

- n - 1 (2) Esempio Dato il numero Dato il numero n=13 10 , con K=2, abbiamo: **C d = b k

  • n -1 = 10**^2 -13-1=86 10 Dalle definizioni (1) e (2) ne consegue: Cb = Cd + 1 (3) Mentre valgono le seguenti identità: Cd (Cd (n)) = n C b (C b (n)) = n

Regole pratiche

Nel sistema binario, il complemento a uno (diminuito) di un numero si ottiene semplicemente sostituendo nella sequenza di bit gli 0 con 1 e gli 1 con 0. Ad esempio, dato il numero n=010101 2 , si ha Cd(n)=101010 2 Mentre, per ottenere il complemento alla base (o complemento a 2), la regola pratica ci dice di, partendo dal bit più significativo, invertire tutte le cifre 1 con 0 e viceversa fino all’ultimo 1 escluso. Ad esempio, dato il numero n=010101 2 , si ha Cb(n)=101011 2

  • negativo : complementando ad uno l’intera rappresentazione del corrispondente numero positivo La regola pratica per complementare un numero binario è quindi molto semplice:
  1. Si calcola il valore assoluto del numero
  2. Se il numero da rappresentare è positivo allora basta aggiungere uno zero come bit più significativo, altrimenti in caso di rappresentare il negativo, è necessario complementare il valore assoluto
  3. Aggiungere il segno Esempio 1: rappresentare il numero -13 10 in binario con K=5 e rappresentazione complemento diminuito. Svolgimento:
  4. |13 10 |=1101 2
  5. Essendo il segno negativo, bisogna complementare il valore assoluto del numero binario, ottenendo: 0010 2.
  6. Aggiungiamo il bit di segno ottenendo: -13 10 =10010 2. Ovviamente, per vedere a che numero corrisponde un numero relativo con segno negativo, bisogna complementarlo ed ottenere il positivo. Al numero negativo NON si può applicare la regola dei pesi. Ecco alcuni esempi: Assolu to Positi vo Negati vo (^0101) (2) 0101 (2) 1010 (2) (^01011) (

) (^0000) (2) 0000 (2) 1111 (2)

Rappresentazione in complemento alla base

La rappresentazione in complemento alla base o in complemento a due, nel caso di sistema binario, è quella che viene utilizzata dal calcolatore come algebra per i suoi calcoli. Questo perché tutti i bit vengono trattati allo stesso modo e poi perché questa rappresentazione presenta uno zero solamente. La regola di complementazione a due di un numero binario si attua attraverso i seguenti passi:

  1. Ricavare il valore assoluto del numero con segno da convertire
  2. Complementare a due il numero (sommare 1 al complemento a 1 oppure applicare la regola pratica)
  3. Aggiungere il bit di segno Esempio: rappresentare il numero -13 10 in binario con K=5 e rappresentazione complemento alla base. Svolgimento:
  4. |13 10 |=1101 2
  5. Essendo il segno negativo, bisogna complementare alla base il valore assoluto del numero binario, ottenendo: 0011 2.
  6. Aggiungiamo il bit di segno ottenendo: -13 10 =10011 2. Ovviamente, per vedere a che numero corrisponde un numero relativo con segno negativo, bisogna complementarlo ed ottenere il positivo. Al numero negativo NON si può applicare la regola dei pesi. Vista l’importanza di tale rappresentazione, propongo al lettore un altro esercizio. Dato il numero N= 100101 2 in notazione complemento a due con K=6, convertirlo in base dieci.
  7. Il numero è negativo poiché ha 1 come bit più significativo.
  8. Complementiamo il numero ottenendo: N+=011011 2 = +27 10
  9. Il numero N vale allora -27 10

Altre rappresentazioni

La caratteristica di lavorare con lunghezze prefissate di stringhe numeriche, conduce ad una circolarità della rappresentazione. Nella Figura 1 vi vede chiaramente che, sommando 1 a +7 si ottiene -8. Questo fa sì che le operazioni che il microprocessore svolge devono tener conto di questi effetti Figura 1 : La circolarità dell'algebra modulare.

Overflow

Negli elaboratori può succedere che, essendo fisso il numero di bit su cui sono rappresentati i numeri, il risultato di un’operazione non possa essere rappresentato sullo stesso numero di bit. In tal caso si determina una situazione anomala, detta overflow , rilevata dall’hardware e che può portare ad una scorretta rappresentazione dei numeri. Fortunatamente l’elaboratore è in grado di gestire tale situazione.

Rappresentazione dei numeri reali

La difficoltà della rappresentazione dei numeri razionali deriva dal fatto che un intervallo arbitrariamente piccolo ne contiene infiniti. E’ dunque possibile rappresentarne solo un sottoinsieme.

Una delle rappresentazioni più utilizzate è quella in virgola mobile , anche detta floating point, la quale, al contrario della rappresentazione fixed point, rappresenta un numero con la virgola attraverso una decomposizione del numero in tre parti: segno, mantissa ed esponente, secondo lo standard internazionale IEEE 754.

  • +78,54 (fixed point)
  • +0,7854 x 10+2^ (floating point) Esistono in questo standard quattro formati per i numeri in virgola mobile: a precisione singola (32 bit), precisione doppia (64 bit), precisione singola estesa (≥ 43 bit), raramente usato, e precisione doppia estesa (≥ 79 bit), supportata solitamente con 80 bit. La precisione singola è il minimo richiesto dallo standard, gli altri sono opzionali^1. Noi vedremo solo i primi due: Segno (1 bit) Esponente (8 bit) Mantissa (23 bit) Segno (1 bit) Esponente (11 bit) Mantissa (52 bit)

Underflow

Un elaboratore presenta un underflow aritmetico nel caso in cui un’operazione aritmetica che utilizza variabili floating point generi un risultato più piccolo della sensibilità dell'elaboratore stesso. Ad esempio dividendo un numero a (diverso da zero) per un valore b molto grande si ottiene un valore c molto piccolo; se c è troppo piccolo la macchina non riesce a memorizzarlo correttamente e confonde il suo valore con zero. In Figura 2 i due casi di overflow e underflow. (^1) https://it.wikipedia.org/wiki/IEEE_ 32 bit 64 bit

Bibliografia/Sitografia

Curtin, P.,D., Foley, K., Sen, K., Morin, C. (2016). Informatica di base. McGraw-Hill Education. Mezzalama, M. and Piccolo, E. (2010). Capire l’informatica. CittàStudi Edizioni. Wikipedia: https://it.wikipedia.org/wiki/IEEE_ Wikipedia: https://it.wikipedia.org/wiki/Underflow_aritmetico