# data[].attributes.attachment_link.readable_text
10 messaggi * Pagina di 1

Magari non è coerentissimo con l'argomento, però mi proponevo di scrivere un programma che dato in ingresso un intero, mi restituisca la sua appresentazione binaria! Qualche suggerimento?

Mrhaha

Senior Member

Messaggio: 944 di 1152

Iscritto il: 27/05/2010, 21:40

Località: Alvignano-CE

Ok! Quindi se ho qualche domanda la posto lì!
Grazie Hamming!

Mrhaha

Senior Member

Messaggio: 946 di 1152

Iscritto il: 27/05/2010, 21:40

Località: Alvignano-CE

Va benissimo!

Sempre gentilissimo!

Mrhaha

Senior Member

Messaggio: 948 di 1152

Iscritto il: 27/05/2010, 21:40

Località: Alvignano-CE

10 messaggi * Pagina 1 di 1
Torna a Informatica

# data[].attributes.attachment_link.title
Binario puro, modulo e segno, complemento a 1, a 2 e eccesso - Leggi argomento * Matematicamente.it

# data[].attributes.attachment_link.description
10 messaggi * Pagina di 1 Magari non è coerentissimo con l'argomento, però mi proponevo di scrivere un programma che dato in ingresso un intero, mi restituisca la sua appresentazione binaria! Qualche suggerimento? Mrhaha Senior Member Messaggio: 944 di 1152 Iscritto il: 27/05/2010, 21:40 Località: Alvignano-CE Ok!

# data[].attributes.attachment_link.description
Come è possibile notare, in complemento a due, il primo bit diventa automaticamente il bit del segno (come per la rappresentazione a modulo e segno), risolvendo però il problema dell'ambiguità dello 0 (in complemento a 2, 00000 e 10000 hanno significati diversi) e vengono enormemente facilitate le operazioni di somma e differenza, che si riducono alla sola operazione di somma: per comprendere meglio è sufficiente un esempio:

# data[].attributes.attachment_link.readable_text
Rappresentazione binaria di numeri in virgola mobile

Una forma diffusa per rappresentare dei valori molto grandi, consiste nell'indicare un numero con dei decimali moltiplicato per un valore costante elevato a un esponente intero. Per esempio, per rappresentare il numero 123 000 000 si potrebbe scrivere 123·10 ⁶, oppure anche 0,123·10 ⁹. Lo stesso ragionamento vale anche per valori molti piccoli; per esempio 0,000 000 123 che si potrebbe esprimere come 0,123·10⁻⁶.

Per usare una notazione uniforme, si può convenire di indicare il numero che appare prima della moltiplicazione per la costante elevata a una certa potenza come un valore che più si avvicina all'unità, essendo minore o al massimo uguale a uno. Pertanto, per gli esempi già mostrati, si tratterebbe sempre di 0,123·10.

Per rappresentare valori a virgola mobile in modo binario, si usa un sistema simile, dove i bit a disposizione della variabile vengono suddivisi in tre parti: segno, esponente (di una base prestabilita) e mantissa, come nell'esempio che appare nella figura successiva.

Nella figura si ipotizza la gestione di una variabile a 16 bit per la rappresentazione di valori a virgola mobile. Come si vede dallo schema, il bit più significativo della variabile viene utilizzato per rappresentare il segno del numero; i sette bit successivi si usano per indicare l'esponente (con segno) e gli otto bit finali per la mantissa (senza segno perché indicato nel primo bit), ovvero il valore da moltiplicare per una certa costante elevata all'esponente.

Quello che manca da decidere è come deve essere interpretato il numero della mantissa e qual è il valore della costante da elevare all'esponente indicato. Sempre a titolo di esempio, si conviene che il valore indicato nella mantissa esprima precisamente "0, mantissa" e che la costante da elevare all'esponente indicato sia 16 (ovvero 2 ⁴), che si traduce in pratica nello spostamento della virgola di quattro cifre binarie alla volta.

Naturalmente, le convenzioni possono essere cambiate: per esempio il segno lo si può incorporare nella mantissa; si può rappresentare l'esponente attraverso un numero al quale deve essere sottratta una costante fissa; si può stabilire un valore diverso della costante da elevare all'esponente; si possono distribuire diversamente gli spazi assegnati all'esponente e alla mantissa.

Rappresentazione in virgola mobile IEEE 754

Per la rappresentazione dei valori in virgola mobile esiste uno standard importante, IEEE 754 (ripreso anche da altri enti di standardizzazione), con il quale si definiscono due formati, per la precisione singola e doppia. Secondo questo standard, un valore in virgola mobile a precisione singola richiede 32 bit, mentre per la precisione doppia sono necessari 64 bit. Per prima cosa si definisce un "numero normalizzato", corrispondente a:

Di questo si utilizza solo il significante (mantissa) e l'esponente (caratteristica), omettendo il numero uno iniziale. Nella forma prevista dallo standard IEEE 754 si annota separatamente il segno del numero, quindi l'esponente, che però è "polarizzato" (nel senso che al valore dell'esponente originario occorre sommare un certo valore fisso), quindi si mettono le cifre del significante (tutte quelle che possono starci). Si osservi che il significante viene indicato sempre come valore assoluto, pertanto non si applica il complemento per i valori negativi; inoltre, l'esponente viene indicato sommando al valore originale un numero fisso che è costituito da tutti i bit a uno, tranne quello più significativo (quando l'esponente è formato da otto bit, il numero da sommare è 01111111 ₂, pari a 127 ₁₀; quando l'esponente è formato da 11 bit, il numero da sommare è 01111111111 ₂, pari a 1023 ₁₀).

Fonte: http://a2.pluto.it/a2684.htm

# data[].attributes.attachment_link.description
Una forma diffusa per rappresentare dei valori molto grandi, consiste nell'indicare un numero con dei decimali moltiplicato per un valore costante elevato a un esponente intero. Per esempio, per rappresentare il numero 123 000 000 si potrebbe scrivere 123·10 6, oppure anche 0,123·10 9.