Conversione numeri in base 2
ragazzi, in vista dell'esonero che avrò a febbraio stavo facendo alcuni esercizi sulla conversione da numeri in base 2 a numeri in base 10 e viceversa.. ma ho dei dubbi :
per esempio
1) il numero +13 in modulo e segno con 5 bit:
13:2=6 resto 1
6:2=3 resto 0
3:2=1 resto 1
1:2=0 resto 1
quindi +13 in base 2 è 1101, ma visto che dobbiamo usare 5 bit diventa 01101 ??
2)qual è il numero minimo di bit per rappresentare -17 in complemento a 2?
il procedimento è : 17:2 resto 1 ecc ecc e viene 10001 ma visto che è complemento a 2 diventa 01110+1?? --> 01111 ---> 5 bit necessari?? ma se è un numero negativo non dovrebbe iniziare con un 1 ?!
3) a che numero in base 10 corrisponde 001010 in complemento a 2 con 6 bit ?
io faccio 001010-1 (perchè se è in complemento a 2 abbiamo gia sommato 1 e invertito gli zeri con gli uni e viceversa giusto?), e inverto i numeri (complemento a 1) -----> 110110 ma sicuramente sbaglio qualcosa perchè il risultato non mi viene..
potreste correggermi questi 3 esercizi??
grazie mille!!!
per esempio
1) il numero +13 in modulo e segno con 5 bit:
13:2=6 resto 1
6:2=3 resto 0
3:2=1 resto 1
1:2=0 resto 1
quindi +13 in base 2 è 1101, ma visto che dobbiamo usare 5 bit diventa 01101 ??
2)qual è il numero minimo di bit per rappresentare -17 in complemento a 2?
il procedimento è : 17:2 resto 1 ecc ecc e viene 10001 ma visto che è complemento a 2 diventa 01110+1?? --> 01111 ---> 5 bit necessari?? ma se è un numero negativo non dovrebbe iniziare con un 1 ?!
3) a che numero in base 10 corrisponde 001010 in complemento a 2 con 6 bit ?
io faccio 001010-1 (perchè se è in complemento a 2 abbiamo gia sommato 1 e invertito gli zeri con gli uni e viceversa giusto?), e inverto i numeri (complemento a 1) -----> 110110 ma sicuramente sbaglio qualcosa perchè il risultato non mi viene..
potreste correggermi questi 3 esercizi??
grazie mille!!!
Risposte
Ciao,
1) ok
2) Sbagli: passaggi da fare,
- vai di divisoni successive come per l'es 1) così avrai il corrispondete in base 2 del numero unsigned 17.
- Aggiungi un bit 0, perchè anche in complemento a 2 il numero positivo è identico in qualunque conversione.
- Fai il complemento del numero, sommi 1 e magia hai il numero.
3) vai di moltiplicazioni posizionali
semplice
1) ok
2) Sbagli: passaggi da fare,
- vai di divisoni successive come per l'es 1) così avrai il corrispondete in base 2 del numero unsigned 17.
- Aggiungi un bit 0, perchè anche in complemento a 2 il numero positivo è identico in qualunque conversione.
- Fai il complemento del numero, sommi 1 e magia hai il numero.
3) vai di moltiplicazioni posizionali
semplice

moltiplicazioni posizionali.. cioè?
se sai, qualsiasi rappresentazione numerica è posizionale.
Es: $(123)_10 = 1*10^2 + 2*10^1 + 3*10^0$
equivalente per qualunque base, basta che moltiplichi per la base giusta però
Es: $(123)_10 = 1*10^2 + 2*10^1 + 3*10^0$
equivalente per qualunque base, basta che moltiplichi per la base giusta però

"ham_burst":
se sai, qualsiasi rappresentazione numerica è posizionale.
Es: $(123)_10 = 1*10^2 + 2*10^1 + 3*10^0$
equivalente per qualunque base, basta che moltiplichi per la base giusta però
solo questo??? anche se c' è scritto che il numero è in base 2?
leggi bene i post.
es 3) un numero intero positivo in base 2 inizia SEMPRE per 0, perciò se il numero 001010 in complemento a 2, in modulo e segno, ecc inzia sempre per 0, perciò non devi fare trasformazioni di sorta.
Devi solo moltiplicare come ti ho mostrato come esempio con la base 10.
con la base 2 (e vale per la base 13) togli un bit visto che è il segno: $(01010)_2 = 0*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = $ a te.
semplice
es 3) un numero intero positivo in base 2 inizia SEMPRE per 0, perciò se il numero 001010 in complemento a 2, in modulo e segno, ecc inzia sempre per 0, perciò non devi fare trasformazioni di sorta.
Devi solo moltiplicare come ti ho mostrato come esempio con la base 10.
con la base 2 (e vale per la base 13) togli un bit visto che è il segno: $(01010)_2 = 0*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = $ a te.
semplice

"ham_burst":
leggi bene i post.
es 3) un numero intero positivo in base 2 inizia SEMPRE per 0, perciò se il numero 001010 in complemento a 2, in modulo e segno, ecc inzia sempre per 0, perciò non devi fare trasformazioni di sorta.
Devi solo moltiplicare come ti ho mostrato come esempio con la base 10.
con la base 2 (e vale per la base 13) togli un bit visto che è il segno: $(01010)_2 = 0*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = $ a te.
semplice
e se fosse stato 101010? levo comunque l'1 che rappresenta che è un numero negativo, e faccio le moltiplicazioni posizionali? o in quel caso, visto che so che è negativo, devo invertire anche gli zeri e gli uni??
bhe allora:
sia $x$ un numero positivo, complemento2() la funzione.
complemento2$(x) = x'$ , un numero negativo
complemento2$(x') = x$, un numero positivo. Perciò: complemento2$($complemento$2(x)) = x$. Questo per dirti che è una funzione invertibile.
terra-terra: hai un numero negativo in complemento a 2, per farlo diventare positivo, riapplichi il complemento a 2 (e non esiste la sottrazione in complemento a 2, xkè fai -1?)
sia $x$ un numero positivo, complemento2() la funzione.
complemento2$(x) = x'$ , un numero negativo
complemento2$(x') = x$, un numero positivo. Perciò: complemento2$($complemento$2(x)) = x$. Questo per dirti che è una funzione invertibile.
terra-terra: hai un numero negativo in complemento a 2, per farlo diventare positivo, riapplichi il complemento a 2 (e non esiste la sottrazione in complemento a 2, xkè fai -1?)
perche per complementare a 2 si complementa ad 1 (si invertono 0 e 1) e si somma 1.. (così ho scritto negli appunti) perciò pensavo di fare il ragionamento inverso..
scusate se insisto, ma ho problemi ancora con un altro esercizio!!!
mi chiede
il numero decimale +23 a quale numerio binario corrisponde nella rappresentazione degli interi relativi in complemento a due con 5 bit?
io faccio le moltiplicazioni posizionali e mi trovo in binario cosa corrisponde a 23 cioè 10111
ma la prima cifra è un 1 quindi rappresenta un numero negativo giusto?!?!
e quindi COME PROSEGUO!?!?!?
scusate ragazzi ma domani ho un esonero e non vorrei sbagliare le conversioni!!
grazie mille!!
mi chiede
il numero decimale +23 a quale numerio binario corrisponde nella rappresentazione degli interi relativi in complemento a due con 5 bit?
io faccio le moltiplicazioni posizionali e mi trovo in binario cosa corrisponde a 23 cioè 10111
ma la prima cifra è un 1 quindi rappresenta un numero negativo giusto?!?!
e quindi COME PROSEGUO!?!?!?
scusate ragazzi ma domani ho un esonero e non vorrei sbagliare le conversioni!!
grazie mille!!
ciao,
l'intero relativo +23, un intero con segno con 5 bit non può essere rappresentato.
Se leggi bene cosa ti ho scritto nei precedenti post:
- interi positivi sono uguali in qualunque rappresentazione, inizia SEMPRE con simbolo 0.
- interi negativi si distinguono da rappresentazione a rappresentazione. Il complemento a 2 si applica solo qua. Inizia SEMPRE con simbolo 1.
perciò:
+23 = 010111
se sei con 5 bit 10111 sei in un caso di underflow (se ricordo bene).
l'intero relativo +23, un intero con segno con 5 bit non può essere rappresentato.
Se leggi bene cosa ti ho scritto nei precedenti post:
- interi positivi sono uguali in qualunque rappresentazione, inizia SEMPRE con simbolo 0.
- interi negativi si distinguono da rappresentazione a rappresentazione. Il complemento a 2 si applica solo qua. Inizia SEMPRE con simbolo 1.
perciò:
+23 = 010111
se sei con 5 bit 10111 sei in un caso di underflow (se ricordo bene).
Con numeri in complemento a due di $ n $ cifre puoi rappresentare numeri interi positivi fino a $ (2)^(n-1) - 1 $