Binario puro, modulo e segno, complemento a 1, a 2 e eccesso

noipo
Ciao!
Ho degli esercizi da fare sui numeri binari, esadecimali, ottali e decimali.
La prof spiega male e su internet non sono riuscita a trovare quello che mi interessa quindi chiedo aiuto a voi geni :-D

Quello che ho capito è che se ho un decimale intero positivo e lo voglio trasformare in binario puro lo divido per due e e poi prendo i resti in ordine opposto. Se invece voglio trasformare un numero con la virgola positivo in binario puro, allora lo moltiplico per due e prendo i numeri interi in ordine giusto.

Es:
11 in decimale = 1011 in binario

11 | 1
5..| 1
2..| 0
1..| 1
0..|


0,375 in decimale = 011 in binario

0,375 | 0,75
0,75..| 1,5
0,5...| 1,0

E se dovessi rappresentare in binario un numero negativo? Per esempio -11? Mi basta aggiungerci un 1 davanti? Non ho capito..

E poi quando devo sommare due numeri in binario in Complemento a uno e in complemento a due, quando devo considerare che c'è overflow e quando no? Non capisco perchè a volte l'overflow va bene e a volte no..

Grazie..

Risposte
hamming_burst
Quello che ho capito è che se ho un decimale intero positivo e lo voglio trasformare in binario puro lo divido per due e e poi prendo i resti in ordine opposto.

divisioni successive.
binario puro è la prima volta che sento questa nomenclatura. Penso ci si riferisca al semplice binario unsigned (senza segno).

Se invece voglio trasformare un numero con la virgola positivo in binario puro, allora lo moltiplico per due e prendo i numeri interi in ordine giusto.

moltiplicazioni successive.

E se dovessi rappresentare in binario un numero negativo? Per esempio -11? Mi basta aggiungerci un 1 davanti? Non ho capito..

le operazioni di conversione falle sempre senza considerare il segno. Una volta convertire a secondo della codifica (modulo e segno, complemento a 2) lo trasformi in numero binario signed.

E poi quando devo sommare due numeri in binario in Complemento a uno e in complemento a due, quando devo considerare che c'è overflow e quando no? Non capisco perchè a volte l'overflow va bene e a volte no..

vedi qui (v. Data Representation/Number Conversion) c'è tutto, oltre e di più :) (un link gentilmente fornito da Rggb in un altro post).

se avrai domande, chiedi pure :-)

noipo
Grazie per la risposta :)
Quindi -11 sarebbe in modulo e segno 11011, in complemento a uno 0100 e in complemento a due 0101?

hamming_burst
"vfldj":
Grazie per la risposta :)
Quindi -11 sarebbe in modulo e segno 11011, in complemento a uno 0100 e in complemento a due 0101?

attenta tutte le codifiche hanno un bit in più per il segno rispetto al binario puro (come lo chiami te).

binario unsigned (puro): $(1011)_2 = (11)_10$

binario signed:

    [*:3eptn42t]modulo e segno: $(01011)_2 = (11)_10$ e $(11011)_2 = (-11)_10$[/*:m:3eptn42t]
    [*:3eptn42t]complemento a 1: $(01011)_2 = (11)_10$ e $(10100)_2 = (-11)_10$[/*:m:3eptn42t]
    [*:3eptn42t]complemento a 2: $(01011)_2 = (11)_10$ e $(10101)_2 = (-11)_10$[/*:m:3eptn42t][/list:u:3eptn42t]

noipo
"hamming_burst":
[quote="vfldj"]Grazie per la risposta :)
Quindi -11 sarebbe in modulo e segno 11011, in complemento a uno 0100 e in complemento a due 0101?

attenta tutte le codifiche hanno un bit in più per il segno rispetto al binario puro (come lo chiami te).

binario unsigned (puro): $(1011)_2 = (11)_10$

binario signed:

    [*:1axqjnfc]modulo e segno: $(01011)_2 = (11)_10$ e $(11011)_2 = (-11)_10$[/*:m:1axqjnfc]
    [*:1axqjnfc]complemento a 1: $(01011)_2 = (11)_10$ e $(10100)_2 = (-11)_10$[/*:m:1axqjnfc]
    [*:1axqjnfc]complemento a 2: $(01011)_2 = (11)_10$ e $(10101)_2 = (-11)_10$[/*:m:1axqjnfc][/list:u:1axqjnfc][/quote]

    aaah ok, ora è chiaro, grazie :-)

Mrhaha
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?

hamming_burst
Ciao,
"Mrhaha":
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?

dipende cosa devi farci con la rappresentazione restituita: es. stamparla.

cmq vedi qui, ti consiglio di leggerlo tutto :-)
poi se hai domande basta postare.

Mrhaha
Ok! Quindi se ho qualche domanda la posto lì!
Grazie Hamming! ;-)

hamming_burst
"Mrhaha":
Ok! Quindi se ho qualche domanda la posto lì!
Grazie Hamming! ;-)

vedi te se la domanda che vuoi porre è in contesto con quel post. Se no ti consiglio di aprire un nuovo filone così non si sovrappongono eventuali domande dell'autore di quel post (perchè è ancora attivo in questi giorni) :)

Mrhaha
Va benissimo! ;-) Sempre gentilissimo! :-)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.