Conversione numero binario-decimale in JavaScript

La conversione tra numeri binari e decimali è un'operazione fondamentale in informatica e nella programmazione. In questa guida completa, esploreremo come effettuare la conversione da numero binario a decimale e viceversa utilizzando il linguaggio di programmazione JavaScript. Impareremo i principi di base di questo processo e vedremo esempi pratici per comprendere appieno come funziona.

Introduzione alla Conversione Binario-Decimale

Il sistema binario è un sistema numerico a base 2, mentre il sistema decimale è a base 10. Nel sistema binario, i numeri sono rappresentati utilizzando solo due cifre: 0 e 1, mentre nel sistema decimale si utilizzano tutte le cifre da 0 a 9. La conversione tra questi due sistemi è essenziale quando si lavora con dati binari o si deve comunicare con computer, poiché i computer utilizzano il sistema binario per l'elaborazione dei dati.

Conversione da Binario a Decimale

Per convertire un numero binario in decimale, è necessario eseguire il seguente processo:

  1. Inizia dalla cifra binaria più a destra (la meno significativa) e assegnale un valore di 1 se è 1, oppure 0 se è 0.
  2. Moltiplica questa cifra per 20 =1
  3. Passa alla cifra binaria successiva, moltiplica per 21 = 2 e somma il risultato al valore precedente.
  4. Continua questo processo per tutte le cifre binarie, raddoppiando l'esponente 2n ogni volta.
  5. Alla fine, somma tutti i risultati ottenuti per le diverse cifre binarie.

Ecco come implementare questa conversione in JavaScript:

function binarioVersoDecimale(numeroBinario) {
	let decimale = 0;
	const lunghezza = numeroBinario.length;
	
	for (let i = 0; i < lunghezza; i++) {
		const cifra = parseInt(numeroBinario[i]);
		const esponente = lunghezza - 1 - i;
		decimale += cifra * Math.pow(2, esponente);
	}
	
	return decimale;
}

const binario = "101010";
const decimale = binarioVersoDecimale(binario);
console.log(`Il numero binario ${binario} in decimale è ${decimale}`);

In questo esempio, abbiamo definito una funzione binarioVersoDecimale che accetta un numero binario come stringa. Utilizziamo un ciclo for per iterare attraverso le cifre binarie, moltiplicando ogni cifra per 2n e sommando i risultati per ottenere il valore decimale.

Conversione da Decimale a Binario

La conversione da decimale a binario è leggermente più complessa, ma può essere implementata seguendo questi passaggi:

  1. Divide il numero decimale per 2.
  2. Registra il resto della divisione come cifra binaria (0 o 1).
  3. Continua a dividere il risultato finché il quoziente è maggiore di 0, registrando il resto di ogni divisione.
  4. Elabora le cifre binarie dal più recente al più antico per ottenere la rappresentazione binaria del numero.

Ecco come implementare questa conversione in JavaScript:

function decimaleVersoBinario(numeroDecimale) {
	let binario = "";
	
	while (numeroDecimale > 0) {
		const resto = numeroDecimale % 2;
		binario = resto + binario;
		numeroDecimale = Math.floor(numeroDecimale / 2);
	}
	
	return binario;
}

const decimale = 42;
const binario = decimaleVersoBinario(decimale);
console.log(`Il numero decimale ${decimale} in binario è ${binario}`);

In questo esempio, abbiamo definito una funzione decimaleVersoBinario che accetta un numero decimale. Utilizziamo un ciclo while per eseguire le divisioni successive e registrare i resti come cifre binarie fino a quando il quoziente diventa 0. Quindi, elaboriamo le cifre binarie in ordine inverso per ottenere la rappresentazione binaria completa.

Conclusioni

La conversione tra numeri binari e decimali è una competenza essenziale in informatica e nella programmazione. Con questa guida completa e gli esempi forniti, ora hai una solida comprensione di come effettuare la conversione da binario a decimale e viceversa utilizzando JavaScript. Questa abilità può essere applicata in molti contesti, come la manipolazione di dati binari, la comunicazione con dispositivi hardware o la gestione di rappresentazioni numeriche in un'applicazione software.