Firmato vs Non firmato
Il nostro sistema numerico si estende dall'infinito negativo all'infinito positivo con zero proprio al centro. Tuttavia, nella programmazione, ci sono fondamentalmente due tipi di numeri; il firmato e non firmato. La principale differenza tra un numero firmato e un numero senza segno è, beh, la possibilità di utilizzare numeri negativi. I numeri senza segno possono avere solo valori pari a zero o superiori. Al contrario, i numeri firmati sono più naturali con un intervallo che include numeri da negativi a positivi.
La creazione di numeri firmati e non firmati è stata motivata dalla necessità di rappresentare valori numerici con risorse molto limitate. Ad esempio, utilizzando 8 bit, hai solo un totale di 256 combinazioni. Con un numero senza segno, significa qualsiasi valore compreso tra 0 e 255. Al contrario, avere un numero firmato significa che hai già perso un po 'per rappresentare il segno. Con 7 bit hai un massimo di 128 combinazioni, quindi la tua gamma con un numero con segno a 8 bit va da -128 a 127. Quindi, se disponi di risorse limitate, come nei primi giorni dell'informatica, usare i numeri senza firma era la strada da percorrere.
Quando si usano numeri firmati e non firmati nella programmazione, è più sicuro usare solo uno o l'altro, poiché entrambi possono causare problemi. Il primo è quando si confronta un non firmato con un numero firmato. Questo in genere comporta degli avvertimenti, ma il compilatore potrebbe compilarlo comunque. Il secondo e più grave problema è quando si assegna il contenuto di un numero senza segno a un numero firmato. Se il valore del numero senza segno è maggiore del valore massimo del numero firmato, si otterrebbe un errore.
Con lo sviluppo della tecnologia, le risorse sono diventate più abbondanti e l'uso di numeri non firmati sta diventando sempre meno necessario. Per illustrare questo, tieni presente che un numero lungo 32 bit può avere un valore massimo di 2 milioni o 4 milioni se non firmato. Quando ci si sposta in 64 bit, la differenza è compresa tra 90 e 180 quintilioni; valori che vengono usati raramente se non nei programmi comuni.
Sommario:
1. Il numero non numerato include solo numeri zero e positivi mentre i numeri firmati includono numeri negativi.
2. I numeri con segno hanno la metà del valore massimo dei numeri senza segno.
3. La combinazione di numeri firmati e non firmati può causare problemi.
4. L'utilizzo di numeri firmati o non firmati ha scarsa rilevanza nelle applicazioni moderne.