711 Shares 2346 views

Rappresentazione dei numeri in un computer. Rappresentazione dei numeri interi e numeri reali nella memoria del computer

Chiunque abbia mai pensato in vita mia che per diventare il "pro" o l'amministratore di sistema, o semplicemente per collegare la partita con la tecnologia informatica, conoscenza su come la rappresentazione dei numeri nella memoria del computer, è assolutamente necessario. Dopo tutto, sulla base di questo linguaggio di programmazione di basso livello, come Assembler. Pertanto, oggi si considera la rappresentazione dei numeri nel computer e metterli in celle di memoria.

notazione

Se stai leggendo questo articolo, probabilmente già sapete su di esso, ma vale la pena di ripetere. Tutti i dati in un personal computer vengono memorizzati nel binario sistema numerico. Ciò significa che ogni numero è necessario inviare l'apposito modulo, che è composto da zero e uno.

Al fine di trasferire abituale per noi numeri decimali a un computer comprensibile modulo, è necessario utilizzare l'algoritmo descritto di seguito. Ci sono anche calcolatori specializzati.

Così, al fine di mettere il numero nel sistema binario, è necessario prendere il nostro valore scelto e dividerlo per 2. Dopo di che, si ottiene il risultato e il resto (0 o 1). Risultato 2 nuovamente dividere e memorizzare residuo. Questa procedura deve essere ripetuta fino a quando il risultato sarà anche 0 o 1. Quindi scrivere il valore finale e resti in senso inverso, come le abbiamo ricevute.

Questo è esattamente ciò che sta accadendo nella rappresentazione del computer dei numeri. Qualsiasi numero memorizzato in forma binaria, e poi prendere la cella di memoria.

memoria

Come dovreste già sapere l'unità minima informazione è 1 bit. Come abbiamo visto, la rappresentazione dei numeri nel computer avviene in formato binario. Così, ciascun bit della memoria è occupata da un valore – 1 o 0.

Per la conservazione di un gran numero utilizzato delle cellule. Ogni unità contiene 8 bit di informazione. Pertanto, si può concludere che il valore minimo in ciascun segmento di memoria può essere 1 o essere un numero binario di otto byte.

intero

Finalmente siamo arrivati al collocamento diretto di dati in un computer. Come detto, la prima cosa il processore traduce le informazioni in un formato binario, e solo allora alloca la memoria.

Inizieremo con l'opzione più semplice, che è la rappresentazione degli interi computer. PC memoria viene allocata per il processo è incredibilmente piccolo numero di cellule – uno solo. Così, un massimo di uno slot può essere un valore da 0 a 11111111. Traduciamo il numero massimo di voci nella forma usuale.
X = 1 × 2 7 + 1 × 2 6 + 1 × 2 5 + 1 × 2 4 + 1 × 2 3 + 1 × 2 2 + 1 × 2 1 + 1 × 2 0 = 1 × 2 8 – 1 = 255 .

Ora vediamo che in una cella di memoria può essere posizionato tra 0 e 255. Tuttavia, questo vale solo per intero non negativo. Se il computer avrà bisogno di registrare un valore negativo, tutto va un po 'diverso.

numeri negativi

Ora vediamo come la rappresentazione dei numeri nel computer, se sono negativi. Per scrivere un valore che è inferiore a zero, assegnato due celle di memoria, o 16 bit di informazione. Così 15 vai sotto il numero stesso, e la prima (più a sinistra) bit è dato dal contrassegno corrispondente.

Se la cifra è negativa, viene registrata, "1", se positivo, poi "0". Per facilità di memorizzazione, è possibile disegnare la seguente analogia: se il segno è, poi mettere 1 se non lo è, allora nulla (0).

I rimanenti 15 bit di informazioni viene assegnato un numero. Analogamente al caso precedente, si può mettere un massimo di quindici unità in loro. Va notato che l'ingresso di numeri negativi e positivi è significativamente diverse l'una dall'altra.

Al fine di accogliere le celle di memoria 2 è maggiore di zero o uguale a, un cosiddetto codice diretto. Questa operazione viene eseguita nello stesso modo descritto sopra, e il massimo A = 32766, utilizzando la notazione decimale. Voglio solo notare che in questo caso, "0" si riferisce al positivo.

esempi

Rappresentazione dei numeri interi in memoria del computer non è un compito così difficile. Anche se è un po 'più complicato quando si tratta di un valore negativo. Per registrare il cui numero è inferiore a zero, utilizzando un codice addizionale.

Per farlo, la macchina produce una serie di operazioni ausiliarie.

  1. Primo registrato modulo di un numero negativo in notazione binaria. Cioè, il computer si ricorda di un simile, ma positiva.
  2. Poi, una memoria invertente ogni bit. A tale scopo, tutte le unità sono sostituiti da zeri e viceversa.
  3. Aggiungiamo un "1" per il risultato. Questo sarà il codice aggiuntivo.

Qui è un vivido esempio. Supponiamo di avere un numero di X = – 131. In primo luogo, ottenere il modulo | X | = 131 è poi convertito in un sistema binario e un record di 16 celle. Otteniamo X = 0000000010000011. Dopo invertente X = 1111111101111100. Aggiungendo a "1" e ottenere il codice inversa X = 1111111101111101. Per la registrazione di una cella di memoria a 16 bit è il numero minimo di X = – (2 15) = – 32767.

Longs

Come si può vedere, la rappresentazione dei numeri reali in un computer non è poi così difficile. Tuttavia, la discussione della gamma non può essere sufficiente per la maggior parte delle operazioni. Pertanto, al fine di accogliere un gran numero di calcolatore alloca cella di memoria 4, o 32 bit.

Il processo di registrazione non differisce da quella presentata in precedenza. Quindi ci limitiamo a dare una serie di numeri che possono essere memorizzati in questo tipo.

X max = 2.147.483.647.

X min = – 2147483648.

I valori dei dati nella maggior parte dei casi, abbastanza per registrare e per eseguire operazioni sui dati.

Rappresentazione dei numeri reali in un computer ha i suoi vantaggi e svantaggi. Da un lato, questo metodo consente facile eseguire operazioni tra i valori interi, che accelera notevolmente il processore. D'altra parte, questo intervallo non è sufficiente a risolvere la maggior parte dei problemi in economia, fisica, aritmetica e altre scienze. Ora diamo un'occhiata a un altro metodo per sverhvelichin.

virgola mobile

Questa è l'ultima cosa che dovete sapere sulla rappresentazione dei numeri in un computer. Poiché v'è un problema di determinare la posizione di una virgola in essi, per accogliere tali numeri in un computer utilizzato dalla forma esponenziale durante la scrittura frazioni.

Qualsiasi numero può essere rappresentato nella seguente forma X p = m * n. Dove m – è il numero di mantissa, p – radix e n – il numero d'ordine.

Per uniformare i numeri in virgola registrazione galleggianti utilizzati seguente condizione, secondo cui il modulo mantissa deve essere maggiore o uguale a 1 / n e meno di 1.

Diamo il numero 666,66 è dato. Cerchiamo di dare alla forma esponenziale. In x = 0,66,666 mila * 10 marzo. P = 10 e n = 3.

Su memorizzazione di valori in virgola mobile solitamente assegnato 4 o 8 byte (32 bit o 64). Nel primo caso si parla il numero di singola precisione, mentre la seconda – una doppia precisione.

Dei 4 byte allocato per la memorizzazione di numeri, 1 (8 bit) di seguito riportate sui dati di procedura e il suo segno, e 3 byte (24 bit) per memorizzare la mantissa lasciare il segno e sugli stessi principi per i valori interi. Sapendo questo, possiamo fare alcuni semplici calcoli.

Il valore massimo di n = 2 1111111 127 = 10. Sulla base di essa, siamo in grado di ottenere la massima quantità di numeri che possono essere memorizzati nella memoria del computer. X = 2127. Ora siamo in grado di calcolare la mantissa massimo possibile. Sarà uguale a 2 23 – 1. ≥ 2 23 = 2 (10 × 2,3) ≥ 1000 2.3 = 10 (3 x 2,3) ≥ 10 7a. Di conseguenza, si ottiene un valore approssimativo.

Ora, se combiniamo entrambi del calcolo, otteniamo il valore che può essere archiviato senza perdita di 4 byte di memoria. Sarà uguale a X = 1,701,411 mila * 10 38. Le cifre rimanenti vengono scartati, perché ti permette di avere una precisione del metodo di registrazione.

doppia precisione

Dal momento che tutti i calcoli sono stati dipinti e spiegato nel paragrafo precedente, qui vi diciamo tutto molto presto. Per i numeri di doppia precisione sono solitamente allocati 11 bit per l'ordine e il suo segno e 53 bit per la mantissa.

1111111111 n = 2 1023 = 10.

M = 2 52 -1 = 2 (10 * 5.2) = 1000 5.2 = 10 15.6 . Arrotondate e ottenere il numero massimo = 2 X 1023 fino a "m".

Ci auguriamo che le informazioni relative alla rappresentazione dei numeri interi e numeri reali nel computer, abbiamo fornito, è utile a voi in formazione e sarà un po 'più chiaro di quello che di solito è scritto nei libri di testo.