Index
Related
Introduzione
- Base: 2
- Simboli: 0, 1
- Sistema Posizionale
Conversioni
Conversione base2 ⇒ base b
Partendo dalla prima cifra a destra assegniamo la posizione alla cifre che compongono il numero partenza
Moltiplichiamo la prima cifra (pos b0) per la potenza 2^0, la seconda per 2^1, la terza per 2^2, e cosi via fino ad esaurire tutte le cifre
Sommando i valori trovati al punto 2 avremo il numero espresso nel sistema di numerazione decimale
oss: se in base 8 o 16 bisogna suddividere il numero binario in sottogruppi di 3 cifre (se b2→b8) o 4 cifre (se b2→b16) e trattarle come se fossero delle conversioni a se, soltanto alla fine si devono unire i risultati per ottenere la cifra finale
Conversione Base b ⇒ base2
Dividere il numero N (base b) per la base 2, ottenendo così un quoziente e un resto
Dividere il quoziente dell’ultima operazione per 2, ricavando un nuovo quoziente e un nuovo resto
Continuare a dividere i quozienti ottenuti per i fino a quando non si ottiene un quoziente uguale a zero
I resti della divisione, scritti in ordine inverso rispetto a come li abbiamo ottenuti, formano le cifre del numero N espresso in base 2
oss se N è in base 8 o 16:
- si dive dividere N nelle sue sotto cifre ed effettuare questo procedimento per ognuna delle cifre
- ci potrebbe essere il bisogno di estendere i risultati
Esempi
Esempio: Conversioni_sistemi_numerici.pdf
Rappresentazione binaria dei numeri decimali
Calcolare bit necessari per rappresentare numero di N cifre
Calcolare numero di cifre rappresentabili da N bit
Conversioni potenze binario → decimale
- Kilo = 2^10 = 1024 ~ 10^3 = 1000
- Meg = 2^20 = … = 10^6 = 1 milione
- Giga = 2^30 = … = 10^9 = 1 miliardo
Operazioni
La somma e la sottrazione tra numeri binari avviane allo stesso modo della summa tra numeri in base 10
Somma
Sottrazione
Prodotto
oss: Quando si effettua una moltiplicazione il risultato deve essere rappresentato sempre con il doppio dei bit rispetto agli operandi
Over-flow e Under-flow
Quando si effettuano operazioni su macchine digitali c’è il rischio di sforare i limiti di architettura/memoria dedicata per la ripresentazione numerica
Questi avvenimenti vengono chiamati:
- Over-flow 🔴
- Under-flow 🔴
Rappresentazione numeri negativi in binario
Esistono diversi modi per rappresentare numeri negativi in binario:
- Codifica modulo e segno (MS) 🟢
- Codifica complemento a uno (CA1) 🟢
- Codifica complemento a due (CA2) 🟢
Nota
Tutti e tre i metodi sono accomunati dal fatto che il bit più significativo indica la negatività (se 1) o la positività (se 0) della rappresentazione
Metodi per conversioni:
- Converti B10 → B2
- Aggiungi bit segno (most significant bit) inizialmente a 0
MS:
- Se Negativo: Bit segno = 1
- Se Positivo: non fare niente
CA1:
- Se Negativo: inverti 1 e 0 e vice versa
- Se Positivo: non fare niente
CA2:
- Se Negativo:
- inverti 1 e 0 e vice versa
- somma 1 al least significant bit
- Se Positivo:
- non fare niente
Rappresentazione numeri reali in binario
In binario esistono due modi per rappresentare i numeri reali:
- Numeri binari con virgola fissa (fixed point) 🟡 (aggiungere operazioni)
- Numeri binari con virgola mobile (floating point) 🟢