TGViewer
Programmazione Time Programmazione Time @programmazionetime · 1.93K subscribers
Post #692 1.12K
#FONDAMENTALI #3.1.1

COSA SONO I NUMERI BINARI? 🤔

Fin da piccoli ci hanno sempre insegnato a contare nella maniera più facile per noi, ovvero in base 10, quindi: 0, 1, 2, 3, 4, 5, 6... 👶🏻
Quindi i classici numeri naturali (N), poi a scuola ognuno avrà visto altri insiemi di numeri come quelli relativi (Z), i razionali relativi (Q) ecc...

Ma la macchina con la quale lavoreremo non conta come noi esseri umani, lei appunto fa uso dei numeri binari composti soltanto dallo 0 e 1.
Potete dunque immaginare quanto il suo lavoro si allunghi rispetto il nostro, ma non sembra curarsene ahahah.

Sta di fatto che il linguaggio macchina si basa interamente su questo sistema binario. 🤖



MA NOI NON UTILIZZIAMO IL SISTEMA BINARIO PER USARE IL COMPUTER... COME FA A CAPIRE? 🤔

Certo, ogni programma (tranne chi è davvero masochista e ci vuole provare) che costruiamo non è direttamente in sistema binario, ma una volta costruito il programma il computer si ritroverà a doverlo tradurre in codice binario, dunque in quel marasma di 1 e 0.

Tutto quanto per essere capito dal computer deve essere tradotto nel suo linguaggio, fate finta che siete in un paese all'estero e che quella sia l'unica lingua che viene parlata. Certo nessuno vi chiede di parlarla direttamente quindi passate al Google Traduttore tattico, ma almeno bisogna capire come funziona un po'. ⚙️



COME FARE CONVERSIONI DA DECIMALE-BINARIO?

Non è tanto complesso quanto magari può sembrare, si inizia sempre con delle conversioni da numero decimale a numero binario e poi dal binario a decimale.

Prendiamo come esempio di numero intero decimale 753. Nella conversione binaria dovremmo dividere per 2 tenendo soltanto conto del resto che sarà inevitabilmente 1 e 0.
(Dopo una divisione se il risultato dà resto 1 e risulta un numero con la virgola vedrete che si arrotonderà per difetto per ottenere un numero intero)
Facciamo il calcolo:

753 | 2 ▶️ 1
376 | 2 ▶️ 0
188 | 2 ▶️ 0
94 | 2 ▶️ 0
47 | 2 ▶️ 1
23 | 2 ▶️ 1
11 | 2 ▶️ 1
5 | 2 ▶️ 1
2 | 2 ▶️ 0
1 | ▶️ 1

Avremmo ottenuto dunque una lista di 1 e 0, questa successione andrà letta dal basso verso l'alto quindi otterremo: 1011110001.
Quel valore sarà 753 in base binaria.
Ma nel lato pratico avete visto cosa è successo??? Il 753 (che è dispari) diviso 2 ha dato come resto 1 che verrà considerato poi, però dovrebbe risultare 376.5 a questo punto arrotondate per difetto (ottenendo 376) così da poter dividere per 2 e poichè è pari ottenere 0 di resto, e così via fino ad arrivare a 1.



COME FARE CONVERSIONI DA BINARIO-DECIMALE? 🤔

Prendiamo un valore, 1011 per esempio.
Per trasformarlo in numero decimale avremo bisogno di lavorare con le potenze in base 2. Se vi sembra qualcosa di strano capirete meglio nell'esempio:

Valore decimale = 1*(2^3) + 0*(2^2) + 1*(2^1) + 1*(2^0) = 8 + 0 + 2 + 1 = 11

Quindi 1011 = 11 .
Partite dal primo valore binario e lo moltiplicate per 2^0 e proseguite verso sinistra aumentando l'elevazione alla potenza sempre di +1, moltiplicate i vari valori e infine sommateli, quello sarà il vostro risultato decimale.



ALTRO METODO PER CAPIRE I BINARI: 😎

Siete abituati in base 10 ad avere appunto dieci valori (0,1,2,3,4,5,6,7,8,9), questi una volta raggiunto l'ultimo dei valori (il 9) si azzererà e aggiungerete un altro numero alla sua sinistra, la stessa cosa vale anche per il binario che possiede solo due valori (0 e 1), quando arriva all'ultimo valore si azzera e incrementa quello alla sua sinistra, esempio:

DECIMALE BINARIO
0 0
1 1 (ultimo valore)
2 10 (incrementa a Sx)
3 11
4 100
5 101
6 110
7 111
8 1000
9(ult. val.) 1001
10(incr. Sx) 1010
... ...
More from @programmazionetime
  1. Nov 29, 2024Programmazione Time pinned «Ciao a tutti quanti! È passato davvero tanto tempo dall’ultima…
  2. Nov 28, 2024Ciao a tutti quanti! È passato davvero tanto tempo dall’ultima volta che ho scritto su que…
  3. Nov 28, 2024Channel photo updated
  4. Apr 2, 2022La risposta corretta a questo sondaggio è: sia compilato sia interpretato. Ebbene sì Pytho…
  5. Apr 2, 2022La risposta corretta a questo sondaggio è: HDD. Molto bello vedere però il dibattito nei c…
  6. Mar 30, 2022Post #1687
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →