Vai al contenuto








Foto
- - - - -

Aiuto con i numeri binari!!


  • Effettua l'accesso per rispondere
Questa discussione ha avuto 7 risposte

#1 Mollan

Mollan

    Utente evangelista

  • Utenti
  • 6515 Messaggi:

Inviato 13 luglio 2008 - 12:53

Ciao, ho un serio problema con le somme in complemento a 2 dei numeri binari....

l'esempio è questo:

-10 + (-1) . Calcolare il risultato con il minimo numero di bit possibili

i bit sono 5 (credo) perchè 2^5 = 32, ossia ho da -16 a +15 come intervallo e il risultato dovrebbe finire in questo intervallo.

-10 in complemento a 2 viene: 10110
-1 in complemento a 2 viene: 11111

Eseguo la somma:

rip: 11100

10110 +
11111 =
--------
110101


Ora, si vede chiaramente che c'è stato overflow....ma non riesco a capire se genera un errore o meno....e se i bit minimi sono 5 o 6....

Qualcuno potrebbe aiutarmi?
  • 0
iMac 24" 2.8 Ghz + Mac Mini 1.42 Ghz S.D. + Mac Book Alu 2.4 Ghz + Cinema 20"
iPod Touch 16 Gb + iPod Video 30 Gb Black + iPod Nano 1 Gb White + Shure E2c
Switch day: 25/12/2005
Codice Wii: 7388 6255 4204 1465
http://mollan.netsons.org

#2 Saino91

Saino91

    Utente super

  • Utenti
  • 817 Messaggi:

Inviato 13 luglio 2008 - 19:17

Penso che tu abbia sbagliato a convertire il 10. Infatti dovrebbe essere 1010 e in complemento 2 0110 l'uno invece è tutti uno.

sommo:

0110 +
1111 =
------
10101

Il numero di bit minimo è quindi di 4. L'ultimo uno non è da considerare il risultato è quindi -11. Infatti se fai il complemento 2 di 0101 ti viene 11.

Spero di esseri stato di aiuto.

Ciao
  • 0

"La musica è una rivelazione più profonda di ogni saggezza e filosofia...
Chi penetra il senso della mia musica potrà liberarsi dalle miserie in cui si trascinano gli altri uomini."

Ludwig van Beethoven


#3 madara88

madara88

    Utente evangelista

  • Utenti
  • 2276 Messaggi:

Inviato 13 luglio 2008 - 19:51

esattamente sul complemento a due c'è una gran confusione perchè io noto in continuazione risultai diversi secondo numeri che dovrebbero essere uguali....non è che qualcuno ci spiega come si fa bene sto complemento a due ?

Ad esempio se io ho il numero 1011 in binario, in complemento a due quanto vale ? io faccio questa operazione cioè faccio il complemento a uno di 1011 cioè inverto gli uni con gli zeri e viceversa, e che diventa quindi 0100, poi aggiungo 1 e così diventa 0101, che in decimale corrisponde a : 5 o -5 ? come faccio a stabilire il segno e soprattutto ditemi se il procedimento che ho fatto è giusto... grazie a tutti.
  • 0

#4 Saino91

Saino91

    Utente super

  • Utenti
  • 817 Messaggi:

Inviato 13 luglio 2008 - 20:30

esattamente sul complemento a due c'è una gran confusione perchè io noto in continuazione risultai diversi secondo numeri che dovrebbero essere uguali....non è che qualcuno ci spiega come si fa bene sto complemento a due ?

Ad esempio se io ho il numero 1011 in binario, in complemento a due quanto vale ? io faccio questa operazione cioè faccio il complemento a uno di 1011 cioè inverto gli uni con gli zeri e viceversa, e che diventa quindi 0100, poi aggiungo 1 e così diventa 0101, che in decimale corrisponde a : 5 o -5 ? come faccio a stabilire il segno e soprattutto ditemi se il procedimento che ho fatto è giusto... grazie a tutti.


Il complemento a due si può fare come hai detto tu o più semplicemente. Prendi il numero binario da DESTRA e cambi uno in zer e viceversa escludendo tutto ciò che c'è prima dell'uno.

Quindi il tuo esempio 1011 il tuo numero comincia con uno (quello in grassetto), lo lasci stare e cambi da lì tutti i numeri. se ci fosse stato ad esempio 1110 cambiavi i numeri dal secondo uno a partire da destra. Il tuo metodo è comunque giusto. Vedi differenze fra i numeri perchè lui ha utilizzato 5 bit io 4. La differenza di segno si capisce se il numero finisce con 1 o con 0. Comuqnue dai un'occhiata anche qui o qui(inglese).
  • 0

"La musica è una rivelazione più profonda di ogni saggezza e filosofia...
Chi penetra il senso della mia musica potrà liberarsi dalle miserie in cui si trascinano gli altri uomini."

Ludwig van Beethoven


#5 Mollan

Mollan

    Utente evangelista

  • Utenti
  • 6515 Messaggi:

Inviato 13 luglio 2008 - 21:28

Penso che tu abbia sbagliato a convertire il 10. Infatti dovrebbe essere 1010 e in complemento 2 0110 l'uno invece è tutti uno.


La prima linea è quella dei riporti

sommo:

0110 +
1111 =
------
10101


Il primo numero inizia per 0.... ossia è un numero maggiore di 0. Il testo invece parla di (-10)....e in complemento a 2 i numeri negativi iniziano con 1.

Il numero di bit minimo è quindi di 4. L'ultimo uno non è da considerare il risultato è quindi -11. Infatti se fai il complemento 2 di 0101 ti viene 11.


No, il numero minimo di bit è 5.

2^4 = 16, ossia un intervallo tra -8 e +7 (il mio risultato è -11, quindi non basta)
2?5 = 32 ossia da -16 a +15, e ci sta dentro qui.
  • 0
iMac 24" 2.8 Ghz + Mac Mini 1.42 Ghz S.D. + Mac Book Alu 2.4 Ghz + Cinema 20"
iPod Touch 16 Gb + iPod Video 30 Gb Black + iPod Nano 1 Gb White + Shure E2c
Switch day: 25/12/2005
Codice Wii: 7388 6255 4204 1465
http://mollan.netsons.org

#6 Mollan

Mollan

    Utente evangelista

  • Utenti
  • 6515 Messaggi:

Inviato 13 luglio 2008 - 21:33

Ad esempio se io ho il numero 1011 in binario, in complemento a due quanto vale ? io faccio questa operazione cioè faccio il complemento a uno di 1011 cioè inverto gli uni con gli zeri e viceversa, e che diventa quindi 0100, poi aggiungo 1 e così diventa 0101, che in decimale corrisponde a : 5 o -5 ? come faccio a stabilire il segno e soprattutto ditemi se il procedimento che ho fatto è giusto... grazie a tutti.


1011 in binario equivale a 8+3 = 11

Se preso in complemento a 2 (il testo lo dice sempre) il numero diventa:

1011

-8 + 3+1 = -5

Il numero è minore di 0 poichè inizia con un 1 (MA SOLO IN COMPLEMENTO A 2).
I numeri maggiori di zero non hanno complemento a 2.

il primo 1011 sembra uguale al secondo perchè sono "errati" i bit....

2^4 = 16, un intervallo da -8 a +7, e +11 non è dentro.

Il numero corretto (per sommmare in complemento a 2) sarebbe 01011. Come vedi inizia per 0, quindi è positivo.

-5 invece con 5 bit (superflui per il numero in sè, ma necessari per l'operazione) sarebbe 11011.

La domanda di inizio topic era più che altro sui riporti dei numeri decimali....e su un eventuale overflow....
  • 0
iMac 24" 2.8 Ghz + Mac Mini 1.42 Ghz S.D. + Mac Book Alu 2.4 Ghz + Cinema 20"
iPod Touch 16 Gb + iPod Video 30 Gb Black + iPod Nano 1 Gb White + Shure E2c
Switch day: 25/12/2005
Codice Wii: 7388 6255 4204 1465
http://mollan.netsons.org

#7 madara88

madara88

    Utente evangelista

  • Utenti
  • 2276 Messaggi:

Inviato 14 luglio 2008 - 13:34

graize mollan e grazie saino.......quindi in definitiva (purtroppo non posso rispondere alla tua domanda XD) per vedere il segno del risultato devo vedere il numero se il primo bit a sinistra è 1 o 0, se è 1 verrà in complemento a due con il segno meno, mentre se il primo bit a sinistra è 0 verrà positivo, ho detto bene ?
  • 0

#8 Mollan

Mollan

    Utente evangelista

  • Utenti
  • 6515 Messaggi:

Inviato 16 luglio 2008 - 16:48

graize mollan e grazie saino.......quindi in definitiva (purtroppo non posso rispondere alla tua domanda XD) per vedere il segno del risultato devo vedere il numero se il primo bit a sinistra è 1 o 0, se è 1 verrà in complemento a due con il segno meno, mentre se il primo bit a sinistra è 0 verrà positivo, ho detto bene ?


Solo se i numeri sono codificati in complemento a 2, altrimenti per i numeri in binario normale devi fare

a2^(n-1)+b2^(n-2) ............ + c2^0

ad esempio:

1010

1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 10 (dieci)
  • 0
iMac 24" 2.8 Ghz + Mac Mini 1.42 Ghz S.D. + Mac Book Alu 2.4 Ghz + Cinema 20"
iPod Touch 16 Gb + iPod Video 30 Gb Black + iPod Nano 1 Gb White + Shure E2c
Switch day: 25/12/2005
Codice Wii: 7388 6255 4204 1465
http://mollan.netsons.org









Home Page | Indice Forum | Notizie Apple | Contatti | Pubblicità | Facebook | Twitter | Forum iPod

Tecnologie e supporto web forniti da: MacPremium
La redazione utilizza applicazioni Mac e iPhone di Apimac

(C) 1996-2014 Italiamac / MacPremium. Tutti i diritti riservati. Vietata la copia e l'utilizzo dei contenuti del sito, anche solo parzialmente, senza l'autorizzazione scritta degli autori e dell'amministrazione. Navigando e utilizzando questo sito l'utente dichiara di aver preso visione e di accettare integralmente il regolamento, l'informativa sulla privacy e le condizioni d'uso, pubblicate in questa pagina. Questo sito non e' in alcun modo collegato ad Apple Inc. Italiamac non e' responsabile in alcun modo per il contenuti inseriti dai navigatori e dagli utenti nel sito.