2011-09-17 18 views
7

"A è un numero intero n bit di precisione rappresentato in radix r" Cosa significa questa istruzione? In particolare, cosa significa A essere un numero intero a precisione multipla di n bit? Per favore aiuto. Graziecos'è un numero intero a precisione multipla?

+0

Penso che il termine è un termine improprio - la "precisione "non varia, cambia solo la * dimensione * della rappresentazione. Il termine "precisione" è probabilmente usato perché ci riferiamo a rappresentazioni float a 32 bit come precisione singola e rappresentazioni float a 64 bit come precisione doppia - ma in quel contesto, il termine "precisione" in realtà ha molto senso, come 64- i bit float sono molto più precisi dei float a 32 bit. – Steve314

+0

BTW - Non penso di aver mai sentito il termine 'numero intero a precisione multipla di bit', ma se esiste, l'unica interpretazione sensata è un numero intero a larghezza variabile di bit costruito (una serie ridimensionabile di) come molti pezzi a n bit (in genere valori interi senza segno di larghezza del registro), se necessario. – Steve314

risposta

4

È molto difficile da dire senza alcun contesto.

Ma se dovessi indovinare, direi che probabilmente si riferisce a arbitrary-precision arithmetic. cioè è un tipo senza vincoli sulla memorizzazione (e quindi senza vincoli sul numero di cifre).

+0

Sì, questa sembra essere la solita interpretazione. Alcuni google-fu forniscono un esempio: "Un numero intero senza segno a precisione multipla è una variabile della classe mpuint: mpuint x (n); qui n è il numero di interi senza segno a 16 bit usati per rappresentare x." http://www.efgh.com/software/mpuint.htm –

6

Lasciatemi rispondere alla mia domanda

se il processore è un processore X bit, qualsiasi numero intero che può essere rappresentato con in bit X (cioè 0 a ((2^X) -1) per unsigned int's) è un singolo numero di precisione. Se il numero intero deve essere rappresentato utilizzando più di X bit, è un numero a precisione multipla. Di solito qualsiasi numero è rappresentato usando bit che sono un multiplo di X, poiché un processore X bit ha una larghezza di registrazione di X bit, e se un numero richiede, ad esempio, 1 bit in più di X, necessita ancora di due registri X bit da memorizzare (quindi un tale numero sarebbe doppia precisione)

Un altro esempio, un numero in virgola mobile in C richiede 4 byte di spazio. Quindi qualcosa come

float x;

è una singola precisione numero virgola mobile

double x; richiede il doppio dello spazio di galleggiante, quindi si tratta di una doppia precisione in virgola mobile numero

(E se credi che questo sia sbagliato si prega di lasciare i vostri suggerimenti nei commenti)

+0

+1 Questa definizione corrisponde all'utilizzo che ho riscontrato. Un MPI non è un tipo con * no * vincoli sulla memoria, ma uno in cui la memoria è più grande di una parola macchina. – ruief

Problemi correlati