Somma numeri binari
Mi sto esercitando con le operazioni sui numeri binari, in particolare:
Il che è giusto, perché convertendo gli addendi in decimale ( 10111 = 23 e 1101 = 13 moltiplicando viene 299 ovvero 100101011). Ma non riesco a capire la somma che mi da 100101011.
Faccio il mio ragionamento (che applico con ogni somma e che viene sempre eccetto in questo caso) che evidentemente sbagliato.
Allora, partendo da destra:
1
1 + 0 = 1
1 + 0 + 1 = 2, ossia 10 in binario; perciò 0 con riporto 1
0 + 0 + 1 + 1 + riporto = 3, ossia 11 in binario; perciò 1 con riporto 1
1 + 0 + 1 + 1 + riporto = 4, ossia 100 in binario; perciò 0 con riporto 10
0 + 0 + 1 + 10 = 11, ossia 1011 in binario; e da qui mi casca tutto..
Non capisco, con le altre somme faccio sempre così e mi viene..
10111 × 1101 = --------- 10111 ← 10111×1 00000 ← 10111×0 10111 ← 10111×1 10111 ← 10111×1 --------- 100101011
Il che è giusto, perché convertendo gli addendi in decimale ( 10111 = 23 e 1101 = 13 moltiplicando viene 299 ovvero 100101011). Ma non riesco a capire la somma che mi da 100101011.
Faccio il mio ragionamento (che applico con ogni somma e che viene sempre eccetto in questo caso) che evidentemente sbagliato.
10111 00000 10111 10111
Allora, partendo da destra:
1
1 + 0 = 1
1 + 0 + 1 = 2, ossia 10 in binario; perciò 0 con riporto 1
0 + 0 + 1 + 1 + riporto = 3, ossia 11 in binario; perciò 1 con riporto 1
1 + 0 + 1 + 1 + riporto = 4, ossia 100 in binario; perciò 0 con riporto 10
0 + 0 + 1 + 10 = 11, ossia 1011 in binario; e da qui mi casca tutto..
Non capisco, con le altre somme faccio sempre così e mi viene..
Risposte
Quello non è un 10 ma un 2. Non fare i passaggi in decimale. Insomma 1+1 = 10 e 10 + 10 = 100
1 = 1
1+0 = 1
1+0+1 = 0 + 10
0+0+1+1+(10/10) = 1 + 10
1+0+1+1+(10/10) = 10 + 10 = 0 + 100
0+0+1 + (100/10) = 1 + 10
1+0+(10/10) = 0 + 10
1 + (10/10) = 10
Quindi il risultato è 100101011
1 = 1
1+0 = 1
1+0+1 = 0 + 10
0+0+1+1+(10/10) = 1 + 10
1+0+1+1+(10/10) = 10 + 10 = 0 + 100
0+0+1 + (100/10) = 1 + 10
1+0+(10/10) = 0 + 10
1 + (10/10) = 10
Quindi il risultato è 100101011
Ma perché 1 + 0 +1 scrivi 0 + 10? Non basta scrivere direttamente 10? E anche (10/10) .. perché?
"helpformath":
... E anche (10/10) .. perché?
È quello che hai chiamato "riporto", cioè devi dividerlo per $10_2$