DOMANDA Overflow con complemento a 2?

Alberto9823

Nuovo Utente
3
0
Salve!
Ho un problema con un esercizio (probabilmente banale) ma non riesco a capirlo:

Devo sommare due interi espressi in complemento a 2 su 32 bit, e capire se la somma genera overflow o no

Y = 0xD3B10000
X = 0x4000AAAA

Altro dubbio: Y è positivo anche se scrivendolo in binario inizia con 1? (D=1101) In questo caso il segno dell'intero lo capisco dallo "0x"?
 

Falco98

Utente Attivo
213
7
La somma genera Overflow se, facendo la somma stessa, alla fine ti rimane un riporto, tale per cui per scriverlo nel risultato devi aggiungere bit.

Di solito quando il primo bit è pari a 1, in binario, si tratta di un numero negativo, inveve se è 0 si tratta di un numero positivo.

Inviato dal mio SM-G965F utilizzando Tapatalk
 

BAT

Moderatore
Staff Forum
Utente Èlite
7,916
3,368
CPU
Neurone solitario
Dissipatore
Ventaglio azionato a mano
Scheda Madre
Casalinga
RAM
Molto molto volatile
GPU
Binoculare integrata nel cranio
PSU
Pastasciutta, pollo e patatine al forno
Net
Segnali di fumo e/o tamburi
OS
Windows 10000 BUG
In questo caso il segno dell'intero lo capisco dallo "0x"?
No, 0x significa che il numero è stato scritto in esadecimale, ma internamente è rappresentato in complemento a 2. Per capire il segno devi fare un test sul bit più significativo: 0 indica un intero positivo ad eccezione dello zero (32 zeri consecutivi), mentre 1 indica un intero negativo. Occhio che in complemento a 2 la sequenza 10...0 (1 seguito da 31 zeri) indica -2^31, attento a non confondere il complemento a 2 con la rappresentazione con bit del segno (che non si può usare)
 
  • Like
Reactions: Andretti60

Entra

oppure Accedi utilizzando

Hot: E3 2021, chi ti è piaciuto di più?

  • Ubisoft

    Voti: 30 22.4%
  • Gearbox

    Voti: 2 1.5%
  • Xbox & Bethesda

    Voti: 87 64.9%
  • Square Enix

    Voti: 10 7.5%
  • Capcom

    Voti: 6 4.5%
  • Nintendo

    Voti: 18 13.4%
  • Altro (Specificare)

    Voti: 12 9.0%

Discussioni Simili