View Full Version : [Aritmetica binaria] conversione da binario in complemento a due
mistergks
18-04-2013, 17:43
Ho un dubbio..
Come sappiamo il complemento a due
Di un numero decimale si fa:
Se x>0 f(x) e si converte normalmente;
Se x<0 f(2^p - |x|) p sarebbe il numero di bit
Ora il mio dubbio é
Ho un numero binario in complemento a 2 e voglio il corrispondente in base 10!
Se é positivo é facile perche si fa normalmente col metodo posizionale!
Se il numero invece é negativo???
Avevo pensato di fare cosi ma non viene:
Dato il numero binario 1001000 in complemento a due lo si converta in base 10:
1001000
Ho fatto:
Inverto i bit
1001000 -> 0110111
Tolgo 1
0110111-1= 0110110
A questo punto converto col metodo posizionale e mi esce 54.
Faccio il controllo dalla formula del complemento a due:
2(7)-54=74
Invece mi sa che dovrebbe venire 72 o meglio -72
freedzer
18-04-2013, 18:02
Devi aggiungere 1 non toglierlo, vedrai che torna....e la prossima volta spendi almeno 2 minuti su wikipedia invece di catapultarti a postare qui :D
mistergks
18-04-2013, 18:04
Devi aggiungere 1 non toglierlo, vedrai che torna....e la prossima volta spendi almeno 2 minuti su wikipedia invece di catapultarti a postare qui :D
Ma 1 lo aggiungo quando converto da decimale a binario! Qui invece voglio fare da binario a decimale! Ai presume che l'1 gia sia stato aggiunto o no?!
Inviato dal mio GT-I9003 usando Tapatalk
freedzer
18-04-2013, 18:12
Il procedimento è speculare, provo a spiegartelo: quando converti un positivo in complemento a 2 dopo averne invertito le cifre (tieni a mente questo) gli aggiungi 1, e ciò è come se facessi un'operazione di sottrazione in logica positiva. Per questo quando lo converti nuovamente devi aggiungere 1, per compensare a quella sottrazione. L'ho detta un po' così ma è questo il principio.
mistergks
18-04-2013, 18:13
Ho provato a fare come hai detto e viene 72! Non so il perche o se è un caso
Inviato dal mio GT-I9003 usando Tapatalk
The_ouroboros
18-04-2013, 18:16
Ho provato a fare come hai detto e viene 72! Non so il perche o se è un caso
Inviato dal mio GT-I9003 usando Tapatalk
domanda magari banale...
Hai una vaga idea di come si passi da una base all'altra e di come sia il complemento a 1 e 2? :)
freedzer
18-04-2013, 18:16
Ho provato a fare come hai detto e viene 72! Non so il perche o se è un caso
Inviato dal mio GT-I9003 usando Tapatalk
........Ok, visto che non ti arrendi ti linko wikipedia, vediamo se dubiti pure di lei:
http://it.wikipedia.org/wiki/Complemento_a_due
mistergks
18-04-2013, 22:19
........Ok, visto che non ti arrendi ti linko wikipedia, vediamo se dubiti pure di lei:
http://it.wikipedia.org/wiki/Complemento_a_due
Ero andato gia su questa pagina ma non ho letto bene! Ok grazie! Tutto è bene quel che finisce bene!
Inviato dal mio GT-I9003 usando Tapatalk
mistergks
19-04-2013, 01:05
scusate, quanto vale quel numero in complemento a 2? :mbe:
Quale?
Inviato dal mio GT-I9003 usando Tapatalk
mistergks
19-04-2013, 10:49
1001000
-56
mistergks
19-04-2013, 23:44
ok... da dove vi sono usciti fuori quei 72, 74 ecc... ? :D
Leggi tutto il topic!
Il 72 viene fuori dalla formula del complemento a due: 2^p-|x|
Inviato dal mio GT-I9003 usando Tapatalk
mistergks
20-04-2013, 15:58
sarà che mi sto rincoglionendo ma continuo a non capire.
1001000 è un numero in complemento a 2, che vale -56 in base 10. cos'è "la formula del complemento a 2"? :mbe:
[edit]
ah ho capito, quella formula sarebbe un modo veloce per determinare la rappresentazione binaria in complemento a 2 di un numero in base 10. :D
Esattamente!
Inviato dal mio GT-I9003 usando Tapatalk
cdimauro
20-04-2013, 20:55
........Ok, visto che non ti arrendi ti linko wikipedia, vediamo se dubiti pure di lei:
http://it.wikipedia.org/wiki/Complemento_a_due
Wikipedia non è garanzia di affidabilità.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.