Salve, devo trovare il "negativo" di questo indirizzo :
R1=0x80000077
Procedo innanzitutto passando dalla notazione esadecimale a quella binaria tenendo conto
che la parola è a 32 bit, dunque :
R1 in binario --> 1000 0000 0000 0000 0000 0000 0111 0111
Converto tutti i
bit da 0 1 e viceversa
eccetto il primo a dx :
0111 1111 1111 1111 1111 1111 1000 1001
Ritornando alla notazione esadecimale ottengo -R1= 0x7fffff89 ma non è corretto.
Il risultato deve essere il seguente : -R1=0xffffff89 dove sbaglio? Perché il primo bit della sequenza deve essere 1?Devo forzarlo ad 1 perché è il bit che rappresenta il segno negativo? Qualcuno riuscirebbe a spiegarmelo?
Grazie