Esercizietto conversione CA2 --> MS
Salve a tutti vi posto questo esercizietto, io l'ho risolto ma non conoscendo il risultato vorrei assicurarmi di averlo fatto bene. Se possibile descrivete i passaggi più importanti.
Dati due numeri in binario complemento a due, convertirli nella notazione modulo e segno:
10011
00111
Grazie per la disponibilità!
Dati due numeri in binario complemento a due, convertirli nella notazione modulo e segno:
10011
00111
Grazie per la disponibilità!
Risposte
Scrivi qui la tua soluzione così vediamo subito se è corretto, ti correggeremo di conseguenza.
1) $ 10011 $:
Essendo in CA2: $ -1*(2)^(4)+0*(2)^(3)+0*2^2+1*2^1+1*2^0=-13 $
Considero il modulo cioè $ 13 $ e opero per divisioni successive, considerando i resti e partendo dall'ultimo resto al primo ottengo:
$ 13=1101 $.
Dovendo rappresentare $ -13 $ in MS ci piazzo 1 davanti al numero ottenuto prima e il risultato è $ 11101 $
2) $ 00111 $:
Essendo in CA2: $ -0*(2)^(4)+0*(2)^(3)+1*2^2+1*2^1+1*2^0=+7 $
Il numero è positivo quindi basta piazzare lo zero davanti, ma in effetti sono già presenti due zeri, anche se nella notazione in MS il primo zero rappresenta il segno positivo e il secondo "non lo trascuro ma lo lascio lì" solo per occupare lo stesso numero di bit (5) della notazione in CA2. Quindi il risultato è $ 00111 $, ossia le due notazioni sono "apparentemente" uguali.
Ci sono errori? La spiegazione in particolare del secondo caso è giusta? Grazie!
Essendo in CA2: $ -1*(2)^(4)+0*(2)^(3)+0*2^2+1*2^1+1*2^0=-13 $
Considero il modulo cioè $ 13 $ e opero per divisioni successive, considerando i resti e partendo dall'ultimo resto al primo ottengo:
$ 13=1101 $.
Dovendo rappresentare $ -13 $ in MS ci piazzo 1 davanti al numero ottenuto prima e il risultato è $ 11101 $
2) $ 00111 $:
Essendo in CA2: $ -0*(2)^(4)+0*(2)^(3)+1*2^2+1*2^1+1*2^0=+7 $
Il numero è positivo quindi basta piazzare lo zero davanti, ma in effetti sono già presenti due zeri, anche se nella notazione in MS il primo zero rappresenta il segno positivo e il secondo "non lo trascuro ma lo lascio lì" solo per occupare lo stesso numero di bit (5) della notazione in CA2. Quindi il risultato è $ 00111 $, ossia le due notazioni sono "apparentemente" uguali.
Ci sono errori? La spiegazione in particolare del secondo caso è giusta? Grazie!
Ciao ClAuDi0,
i tuoi calcoli sono corretti. Anche la spiegazione del secondo caso.
i tuoi calcoli sono corretti. Anche la spiegazione del secondo caso.
"ClAuDi0":
1) $ 10011 $:
Essendo in CA2: $ -1*(2)^(4)+0*(2)^(3)+0*2^2+1*2^1+1*2^0=-13 $
questo calcolo non ha proprio senso.
il bit di segno è extra posizione. Il complemento a due va convertito se si vuole cambiar base.(vedi sotto)
Considero il modulo cioè $ 13 $ e opero per divisioni successive, considerando i resti e partendo dall'ultimo resto al primo ottengo:
$ 13=1101 $.
Dovendo rappresentare $ -13 $ in MS ci piazzo 1 davanti al numero ottenuto prima e il risultato è $ 11101 $
fai un giro di calcoli che non serve, anche se è corretto applicare le divisioni successive, ma è un'operazione in più.
Prendi il CA2 e lo converti in positivo, basta fare l'operazione inversa applicando ancora il complemento a due:
10011 -> complemento a 1(10011) = 01100 +1 = 01101
il primo bit sai che è il segno e lo converti in 1 (sapendo che è il numero originale era negativo) = 11101
2) $ 00111 $:
Essendo in CA2: $ -0*(2)^(4)+0*(2)^(3)+1*2^2+1*2^1+1*2^0=+7 $
Il numero è positivo quindi basta piazzare lo zero davanti, ma in effetti sono già presenti due zeri, anche se nella notazione in MS il primo zero rappresenta il segno positivo e il secondo "non lo trascuro ma lo lascio lì" solo per occupare lo stesso numero di bit (5) della notazione in CA2. Quindi il risultato è $ 00111 $, ossia le due notazioni sono "apparentemente" uguali.
Non apparentemente, sono proprio uguali

Solo nei negativi c'è diversificazione con il complemento a due.
Sisi ero a conoscenza di quel metodo più veloce! Grazie tutto chiaro ora!!