| Decimali e Binari |
Copyright © elma srl. Tutti i diritti riservati.
Aggiornato il 24/05/99.
- Decimali e Binari
- "Equivalenze" tra multipli decimali e binari
- Bit & bytes
In questa pagina vengono usati dei segni per indicare alcune operazioni matematiche :
| Simbolo | Funzione |
| + | somma |
| - | sottrazione |
| * | moltiplicazione |
| / | divisione |
| ^ | elevamento a potenza |
| = | uguale |
Inoltre vengono usate delle scritture a polinomio , ovvero una rappresentazione di un numero come risultato di una sequenza di operazioni aritmetiche , che sono svolte con la prioritá usuale , ovvero prima elevamenti a potenza , poi moltiplicazioni e divisioni , quindi somme e sottrazioni . Per cui , ad es. , la scrittura 25*2^2+5 da come risultato 500 .
Decimali e Binari
Correntemente noi utilizziamo una matematica basata sul 10 e rappresentata dalle 10 cifre arabe . Esistono peró molteplici altre forme di numerazione , basate sull' impiego di cifre diverse (ad es. le cifre romane o cinesi) o su basi differenti da 10 . La tabella seguente riporta alcuni esempi :
| Decimale | Binario | Ottale | Esadecimale | In cifre romane |
| 0 | 0 | 0 | 0 | non usato |
| 1 | 1 | 1 | 1 | I |
| 2 | 10 | 2 | 2 | II |
| 3 | 11 | 3 | 3 | III |
| 4 | 100 | 4 | 4 | IV |
| 5 | 101 | 5 | 5 | V |
| 6 | 110 | 6 | 6 | VI |
| 7 | 111 | 7 | 7 | VII |
| 8 | 1000 | 10 | 8 | VII |
| 9 | 1001 | 11 | 9 | IX |
| 10 | 1010 | 11 | A | X |
| 11 | 1011 | 13 | B | XI |
| 12 | 1100 | 14 | C | XII |
| 13 | 1101 | 15 | D | XIII |
| 14 | 1110 | 16 | E | XIV |
| 15 | 1111 | 17 | F | XV |
| 16 | 10000 | 20 | 10 | XVI |
| 17 | 10001 | 21 | 11 | XVII |
Innanzitutto occorre distinguere tra numero e cifra : abitualmente utilizziamo le due parole come sinonimo , ma in effetti hanno diverso significato : numero é il valore , cifra é il segno grafico con cui rappresentiamo il valore . Ad es. 12 , 1011 , 14 , C e XII rappresentano la stessa quantitá in 5 modi simbolici differenti .
Inoltre , ricordando quanto imparato alle elementari , il sistema romano era un sistema non posizionale , ma addizionale , ovvero ogni cifra ha il suo valore indipendentemente dalla posizione : ad es. I ha valore di 1 sia come seconda cifra di VI (V+I = 5+1=6) , che nella scrittura VII (V+I+I=5+1+1=7) ; anche in deduzione , ad es. per IX (X-I=10-1=9) il valore é uguale ; qualunque sia la posizione della cifra nel numero , il suo valore é sempre uguale . Chiaramente questo sistema é macchinoso e poco pratico per grandi numeri (gli stessi romani se ne resero conto ideando simboli a parte per 50 , 100 , 1000 , ecc.) ed improponibile anche solo per le operazioni piú complesse di una somma , come moltiplicazioni , divisioni , ecc. . Ma nella mentalità europea antica , prima di tutto in quella greca , il numero aveva la funzione di esprimere in modo diverso entità geometriche , rappresentabili piú esattamente per altre vie e nell' uso quotidiano la matematica si riduceva alla somma ( o alla sottrazione) .
Giá nel passato , peró , diverse civiltà hanno utilizzato sistemi differenti , detti posizionali ed alcuni , astraendo i numeri dalla geometria , hanno inventato il concetto dello zero , che a noi arriva dai matematici indiani attraverso gli arabi , definendo le basi del nostro sistema decimale attuale .
Questo modo di contare si basa sul fatto di considerare le cifre componenti un numero non come valori assoluti , ma come indicatori che acquistano un valore specifico in base alla posizione (sistema posizionale) . Per esemplificare , nella scrittura romana III , I al 1 o al secondo o al terzo posto vale sempre 1 , mentre se scriviamo in decimale 111 , la prima cifra 1 a sinistra vale 100 , mentre al secondo vale 10 ed al terso vale 1 ; uno spostamento verso sinistra aumenta il valore di 10 volte e pertanto il sistema si dice decimale . (Al contrario , uno spostamento verso destra riduce di 10 volte .)
I sistemi ottale , esadecimale e binario hanno lo stesso funzionamento di quello decimale , solamente la posizione vale rispettivamente 8 , 16 e 2 , invece che dieci .
Il sistema binario é basato su due sole cifre , ovvero 0 e 1 ed estremamente adatto a rappresentare le situazioni dei circuiti elettrici (conduce/non conduce) o elettronici e per sviluppare un' algebra binaria (di Boole) ideale per la descrizione di flussi logici decisionali . Ovviamente , essendo presenti due sole cifre , il numero delle cifre necessarie per indicare un numero sale vertiginosamente , rendendo poco pratica e poco comprensibile la scrittura di numeri binari estesi .
Per ovviare a questo si sono sviluppati sistemi con basi differenti , ad es. l' ottale , che usa cifre da 0 a 7 e l' esadecimale , che usa 16 cifre , ovvero le 10 arabe piú le lettere da A a F . In questo ultimo caso , dato il maggior numero di cifre , numeri grandi potranno essere rappresentati con un quantitativo limitato di segni grafici . Da osservare che sia il sistema ottale che l'esadecimale sono basati su multipli di 2 (8=2^3 e 16=2^4) e quindi adatti a rappresentare situazioni "binarie" condensate .
I numeri esadecimali sono identificati dalle sigle H oppure hex (ad es. 123H o h45C11 o 21D hex) e sono quelli piú usati nella tecnica del computer , perché adatti a rappresentare i gruppi di linee binarie su cui lavora l' hardware del PC (byte , word , ecc.)
Per riassumere :
La tabella seguente da alcuni esempi di come sono leggibili i numeri nei vari sistemi ; i numeri sono convertiti nei polinomi equivalenti per mostrarne la composizione :
| Decimale | Esadecimale | Ottale | Binario |
| 123 decimale = 1*10^2 +1*10^1 + 1*10^0 = 1*100+2*10+3*1 | 123H esadecimale = 1*16^2 +2*16^1 + 3*16^0 =1* 256+2*16+3*1 = 291 in decimale | 123 ottale = 1*8^2 + 2*8^1 + 3*8^0 = 1*64+2*8+3*1 = 83 in decimale | |
| 256 decimale = 2*10^2 +5*10^1 + 6*10^0 = 2*100+5*10+6*1 | 100H esadecimale = 1*16^2 +0*16^1 + 0*16^0 = 1*256+0*16+0*1 = 256 in decimale | 400 ottale = 4*8^2 + 0*8^1 + 0*8^0 = 4*64+0*8+0*1 = 256 in decimale | 100000000 binario = 256 decimale |
| 999 decimale = 9*10^2 +9*10^1 +9*10^0 = 9*100+9*10+9*1 | 999H esadecimale = 9*16^2 +9*16^1 +9*16^0 = 9*256+9*16+9*1 = 2457 in decimale | 999 ottale = 9*8^2 +9*8^1 + 9*8^0 = 9*64+9*8+9*1 = 657 in decimale | |
| 999 decimale = 9*10^2 +9*10^1 +9*10^0 = 9*100+9*10+9*1 | 3E7H esadecimale = 3*16^2 +14*16^1 +7*16^0 = 3*256+14*16+7*1 = 999 in decimale | 1739 ottale = 1*8^3 +7*8^2 +3*8^1+7*16^0 =1*512+7*64+3*16+7*1 = 999 in decimale | 1111110111 binario = 999 in decimale |
Per quanto riguarda i numeri binari , ecco i polinomi relativi agli esempi della tabella :
Ovviamente sono possibili infinite numerazioni usando una qualunque base , ad es. 7 o 99 , ma non hanno particolari applicazioni pratiche .
Per comodità , la tabella seguente riporta le potenze di 2 da 0 a 40 , l' equivalente decimale e la forma in cui comunemente sono utilizzate .
| Potenze di 2 ed equivalente decimale | ||
| n | 2^n | Forma comune in bytes |
| 0 | 1 | 1 byte |
| 1 | 2 | 2 bytes |
| 2 | 4 | 4 bytes |
| 3 | 8 | 8 bytes |
| 4 | 16 | 16 bytes |
| 5 | 32 | 32 bytes |
| 6 | 64 | 64 bytes |
| 7 | 128 | 128 bytes |
| 8 | 256 | 256 bytes |
| 9 | 512 | 512 bytes (1/2 kB) |
| 10 | 1,024 | 1 KB |
| 11 | 2,048 | 2 KB |
| 12 | 4,096 | 4 KB |
| 13 | 8,192 | 8 KB |
| 14 | 16,384 | 16 KB |
| 15 | 32,768 | 32 KB |
| 16 | 65,536 | 64 KB |
| 17 | 131,072 | 128 KB |
| 18 | 262,144 | 256 KB |
| 19 | 524,288 | 512 KB (1/2 MB) |
| 20 | 1,048,576 | 1 MB |
| 21 | 2,097,152 | 2 MB |
| 22 | 4,194,304 | 4 MB |
| 23 | 8,388,608 | 8 MB |
| 24 | 16,777,216 | 16 MB |
| 25 | 33,554,432 | 32 MB |
| 26 | 67,108,864 | 64 MB |
| 27 | 134,217,728 | 128 MB |
| 28 | 268,435,456 | 256 MB |
| 29 | 536,870,912 | 512 MB (1/2 GB) |
| 30 | 1,073,741,824 | 1 GB |
| 31 | 2,147,483,648 | 2 GB |
| 32 | 4,294,967,296 | 4 GB |
| 33 | 8,589,934,592 | 8 GB |
| 34 | 17,179,869,184 | 16 GB |
| 35 | 34,359,738,368 | 32 GB |
| 36 | 68,719,476,736 | 64 GB |
| 37 | 137,438,953,472 | 128 GB |
| 38 | 274,877,906,944 | 256 GB |
| 39 | 549,755,813,888 | 512 GB (1/2 TB) |
| 40 | 1,099,511,627,776 | 1 TB |
"Equivalenze" tra multipli decimali e binari
I valori espressi con i prefissi di moltiplicazione sono validi , ovviamente , anche per sistemi numerici su basi diverse da dieci , come ad es. i numeri binari , in base 2 . Attenzione , peró : sono state adottate definizioni uguali , ma che conducono ad un risultato leggermente differente , dovuto alla diversa base numerica . Quindi , il valore indicato NON é lo stesso in decimale ed in binario ; non si tratta di una equivalenza intesa come uguaglianza numerica , ma di un modo per indicare con immediatezza la dimensione della quantitá in base binaria , non di uso comune , usando come riferimento quella decimale , di uso piú comune e quindi piú comprensibile . Quindi un megabyte in decimale sará leggermente minore dello stesso in binario ; inoltre , mentre i valori decimali sono multipli tra di loro in rapporti di 10 (ovvero 1M=1000k) , nel caso dei numeri binari il rapporto é in base alle potenze di 2 (quindi 1M non é 1000 volte un k) . Questa situazione puó generare confusione nell' Utente quando , su un PC le indicazioni dei costruttori utilizzano per uno stesso oggetto i moltiplicatori sia per numerazioni decimali che binarie senza precisare quale sia usato . Pertanto é comprensibile perché tra il BIOS , il sistema operativo e un tools di check del sistema ci siano differenze nell' indicazione della stessa quantitá di memoria ; lo stesso fenomeno si rileva nella capacita degli hard disk . Prima di lanciarvi in discussioni , verificate se i conteggi in kbyte o megabyte intesi come binari o come decimali !
La tabella seguente indica l' "equivalenza" dei moltiplicatori ; da osservare che in questo caso si tratta solo di multipli , perché i sottomultipli non avrebbero senso . Inoltre é indicata la differenza percentuale tra il valore binario e quello decimale .
| "Equivalenze" tra multipli decimali e binari | ||||||
| Nome | Abbr. | Potenza in Binario | Valore binario | Potenza in Decimale | Valore decimale | Differenza |
| Kilobyte | KB | 2^10 | 1.024 | 10^3 | 1.000 | 2,4% |
| Megabyte | MB | 2^20 | 1.048.576 | 10^6 | 1.000.000 | 4,8% |
| Gigabyte | GB | 2^30 | 1.073.741.824 | 10^9 | 1.000.000.000 | 7,3% |
| Terabyte | TB | 2^40 | 1.099.511.627.776 | 10^12 | 1.000.000.000.000 | 9,9% |
Bit & bytes
Come in tutte le attivitá specialistiche , anche nel settore dei computer viene utilizzata una terminologia "esoterica" per identificare elementi tipici dell 'attivitá . Sicuramente bit e bytes sono diventati di uso comune , anche se non sono gli unici termini impiegati .
L' unitá base del sistema binario applicato ai computers é stata denominata bit e indica un elemento di informazione , rappresentabile con una cifra binaria che puó valere 0 o 1 .
Nell' uso comune risulta pratico trattare gruppi di unitá , associate logicamente in blocchi di 8 ; tipicamente un insieme di otto bit prende il nome di byte (plurale bytes) .
Da dove deriva questo termine ? Si suppone siano nati nei laboratori di ricerca dell' IBM . In inglese bit indica una piccola quantitá ( a little bit = un pochettino , bit of tool =la punta di un utensile) . Dovendo attribuire un nome al gruppo di 8 bit , un ricercatore pensó di chamarlo con un nome che indicasse un pó piú di un bit , ovvero bite (letteralmente = un morso , un boccone) ; per evitare eventulai errori di scrittura e relativa confusione con il bit , cambió poi la i in y (possibilitá dinamiche della lingua inglese , che é un bit meno fossilizzata della nostra ...) .
Dove occorre utilizzare numeri piú grandi . La tabella seguente riporta alcuni dei termini piú importanti . I termini inglesi sono difficilmente traducibili in italiano . Viene comunque proposta una traduzione comunque ; si consiglia , peró , vivamente di usare i termini originali , per chiarezza e uniformità e per evitare di scivolare nei nazionalismi che finiscono per rendere difficile lo scambio delle idee , sia tecniche che non . (Ad es. il verbo nibble in inglese significa mordicchiare , sbocconcellare , per cui il nibble é un "morso" del byte ; un buon concetto , ma originato da una lingua con una flessibilità diversa dall' italiano ! Noi pensiamo che sia meglio il byte , non tradotto , piuttosto dell' octet dei francesi e che flip-flop sia molto piú pratico di multivibratore astabile . E , in quanto alla "nazionalizzazione" dei termini , provate a chiedere ad un olandese quale é la capitale del suo paese o traducete in italiano blue jeans ...)
| Nome (inglese) | Nome (italiano) | Numero di Bits | Significato |
| bit / digit / flag | bit / cifra / segnale | 1 | un singolo dato binario (che vale 1 o 0) |
| nibble / nybble | 4 | un insieme di 4 bits (mezzo byte) | |
| byte / character | byte / carattere | 8 | un insieme di 8 bits |
| word | parola | 16 | una coppia di bytes |
| double word / long word | parola doppia / parola lunga | 32 | una coppia di parole (4 bytes) |
| very long word | parola molto lunga | 64 | una parola composta da 8 bytes |
[ Home | Prodotti | Listino | Vetrina | News | Assistenza ]
[ Contatti | Search | Mail ]
Copyright ©
elma srl. Tutti i diritti riservati.