



Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Introduzione alla rappresentazione dei numeri naturali in basi diverse da dieci (es: codice binario). Somme, sottrazioni, moltiplicazioni e divisioni con numeri naturali in codice binario
Tipologia: Schemi e mappe concettuali
1 / 6
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




Informazione = forma + significato → assegnazione di un significato ad una rappresentazione
Condizione necessaria: un supporto può contenere informazioni se può assumere configurazioni differenti, e ad
ogni stato del supporto viene associato un differente significato
CODIFICA/RAPPRESENTAZIONE : necessaria per interpretare le diverse configurazioni del supporto → ad ogni
configurazione del supporto associa un’ entità di informazione (cioè il significato)
Rappresentazione può essere:
ESTERNA: comprensibile dall’utente (grafici, immagini, video, suoni) → non utilizzabile direttamente nei
computer
INTERNA: comprensibile dalla macchina (sistema binario)
Necessaria una conversione tra le due rappresentazioni
Bit (binary digit) = componente che ammette solo due stati → con un bit si può rappresentare un’informazione
che assume solo 2 valori
Esempio:
Per avere info più elaborate si devono combinare più bit in sequenze → ad ogni combinazione binaria viene poi
associato un significato mediante un processo di codifica
Seq di bit (possibili combinazioni) ↔ codifica ↔ entità di informazione (significato)
Esempio:
1bit 2bit 3bit
NB: i numeri pari in binario terminano con 0
i numeri dispari in binario terminano con 1
rappresentazione semantica
Deve essere univoca (ambiguità)
Per scrivere una sequenza di n-bit:
copiare e duplicare la sequenza precedente,
poi aggiungere davanti a metà della sequenza
duplicata uno 0, davanti all’altra metà un 1
Sequenza di 8 bit = BYTE
Con N bit si codificano 2 N^ informazioni
≠ modalità di rappresentazione dei numeri interi:
sistema unario : il num di simboli corrisponde alla quantità
es: 7 = IIIIIII
Pro : facile comprensione, operazione di somma immediata (aggiungere le barrette del secondo
addendo al primo
Contro : numeri grandi illeggibili
sistema romano : codifica basata su multipli di 5. Numeri ottenuti dalla combinazione dei simboli (è un
sistema posizionale e può essere sottrattiva)
Pro : dimensione ridotta rispetto al sist unario (ma comunque grandi num determinano lunghe seq)
Contro : difficoltà a fare i calcoli, mancanza di univocità (equivoci) → ES: 99 = IC = XCIX
sistemi additivi : ad ogni simbolo numerico viene attribuito uno specifico valore. Ogni numero codificato
attraverso un insieme di tali simboli in modo che la somma dei valori usati coincida con il numero stesso
→ vige la proprietà commutativa (quindi posizionale)
Es: numerazione egizia
sistemi posizionali : semplicità delle operazioni tramite algoritmi in colonna + rappresentaz immediata
La rappresentazione associa ad ogni combinazione di simboli dell’alfabeto un significato (codifica) → deve essere
univoca, ed eventuali ambiguità dovranno essere risolte contestualizzandole → le regole per determinare il
corretto contesto sono parte integrante della codifica stessa
Definito da:
✔ un ALFABETO: insieme dei simboli ( cifre ) → stringa codice = sequenza delle cifre
✔ un CODICE: regole che permettono di associare un valore ad ogni sequenza di cifre
Numerale = sequenza composta da sole cifre priva di un codice, quindi priva di significato numerico (es: CAP)
Un numerale rappresenta un numero solo se si specifica un codice
Lo stesso numerale può rappresentare valori diversi a seconda della codifica utilizzata
es: 110100 = centodiecimilacento in base dieci, 52 10 in base 2
Cifra = digit = bit
Il valore di una cifra dipende sia dalla cifra stessa che dalla sua
posizione all’interno della stringa codice → sistema PESATO: ogni cifra
ha un peso diverso che dipende anche dalla sua posizione
(valore = cifra + posizione)
Il valore rappresentato dalla stringa codice è dato dalla somma dei
valor i associati alle singole cifre che la compongono
(valore stringa cod = valore singole cifre che la compongono)
Nel sist decimale
Negli altri sist
Nel sist binario
Si ricorre alla definizione della codifica:
Il corrispondente numero N 10 è uguale alla sommatoria delle potenze di B dove i coefficiente sono le cifre della
rappresentazione di partenza
NB = dn-1 d 3 d 2 d 1 d 0 → dn-1 * B
n-
Dove dn-1 d 3 d 2 d 1 d 0 sono le posizioni occupate dai diversi digit che compongono il numero
Esempio : 1423 in base 5 = 1*
3
2
1
0 = 125 + 100 + 10 + 3 = 238 in base 10
Per i numeri in base binaria basta sapere le potenze di 2 e sommare la potenza di 2 corrispondente alla posizione
del bit quando il bit è 1 (se il bit in quella posizione è zero, non si conta nella somma quella potenza di 2)
Esempio :
Posizione cifra (n-1) 4 3 2 1 0
Potenza di 2 corrisp alla
posizione
16
(
4 )
8
(
3 )
4
(
2 )
2
(
1 )
1
(
0 )
Numero in bit 1 0 0 1 1
NB: se nella stringa numerica è presente una cifra ≥ B, il numero NON è rappresentabile → codificare
Esempio : (14683) 8 NON è rappresentabile
Esempio: convertire CA 16 in binario
Associo ogni digit (cifra) esadecimale al corrispondente valore in base 10 → Pertanto C = 12 mentre A = 10.
Esprimo i valori in base 10 come somma di 1 , 2 , 4 e 8 (ovvero potenze di 2 da 2
0 a 2
3 ). Pertanto
3 ) Estraggo i coefficienti di ogni singola somma pesata e li scrivo in sequenza
Esempio: convertire 1110112 in esadecimale
Se l'ultimo gruppo ha meno di 4 bit aggiungo un numero adeguato di 0 iniziali. Quindi ottengo:
0 a 2
3 ottenendo la decodifica in base 10 di
ogni gruppo di 4 bit
esadecimale diventa B. La soluzione è quindi:
2
10
Full adder = sommatore pieno → poiché ci sono solo due simboli (0,1), la somma 1+1 non fa 2, ma ci sarà un
riporto R di peso immediatamente superiore
Quindi 1 + 1 → 0 nelle cifre di pari peso, e 1 come riporto → 1 + 1 = 10
Sottrarre aritmeticamente i bit di pari peso (come nel decimale). Nel caso ci fosse la necessità di togliere più bit
dell’intero, bisogna ricorrere ad un prestito ricavato dalla cifra di peso immediatamente superiore
Esempio: 0 – 1 → si prende in prestito la cifra di peso superiore del primo bit a cui si deve sottrarre 1 → 10-1=
Slittamento ( shift ) di k posizioni verso sinistra di tutte le cifre Ci associate alla codifica di un numero N e
inserimento di zeri nelle posizioni appena liberate (con peso minore)
es: 1101 * 1 00 = 1101 00
N =∑
i = 0
n − 1
i
= N =∑
i = 0
n − 1
i
( i + k )
k
E’ equivalente a moltiplicare il numero N per 2
k
shift