Condividi su facebook
Condividi su linkedin
Condividi su twitter
Condividi su pinterest
Condividi su google

Contenuti

Ora che sai come convertire i numeri in binario, dovresti anche sapere un po 'come aggiungere i numeri. Ci stiamo concentrando principalmente sul binario, perché è il più importante per l'informatica. Questo metodo funziona principalmente come con i sistemi decimali.

Vediamo le basi:

0+0=0

0+1=1

1+0=1

1 + 1 = 0 ne porta uno (non possiamo rappresentarne due ricordi?)

Questo praticamente ci dice ogni possibile combinazione di addizione e sottrazione in binario. Ma lo facciamo anche come hai imparato alle elementari! Prendi una bella tavola:

1.1 Addizione e moltiplicazione in binario e overflow? 1

Trabocca

Ora potresti o non potresti aver notato qualcosa. Possiamo effettivamente traboccare. Un overflow è quando la quantità di bit o 1 e 0 non rientra più nella quantità iniziale di bit. Quindi iniziamo con 4 bit + 4 bit e otteniamo un risultato di 4 bit. Ora immaginiamo di ottenere un risultato di 5 bit, a seconda del programma, a volte non è possibile memorizzare quel valore. Questo porta a un trabocco. Quando non puoi rappresentare tutti i bit. Parliamo quindi di un esempio:

1111 + 0010 = 10001 giusto? Ma se non possiamo rappresentare tutti e 5 i bit, otteniamo la risposta 0001 che è molto lontana dal valore reale.

Questo è un problema reale nella programmazione del software poiché gli interi in java sono memorizzati come 32 bit, ovvero circa 4 miliardi di numeri. Se aggiungi uno al numero più grande possibile, ottieni il risultato di uno. Fortunatamente alcuni compilatori non ti permetteranno di eseguire il codice se questo accade. E puoi anche usarlo a tuo vantaggio, nel caso in cui crei un programma che possa beneficiare di questo tipo di overflow.

Moltiplicazione

Hai indovinato. È esattamente lo stesso che a scuola, nel caso tu abbia imparato questo metodo.

1.1 Addizione e moltiplicazione in binario e overflow? 2

Immagini da: https://www.electronicshub.org/binary-multiplication/ e https://chortle.ccsu.edu/AssemblyTutorial/Chapter-08/ass08_3.html