In questa lezione svilupperemo un sistema di conversione da binario a decimale in JavaScript.
Innanzitutto proviamo il simulatore sotto. Inseriamo nel campo di input un numero binario, in automatico nel campo sotto si vedrà il corrispettivo numero decimale.
Decimale:
Conversione da binario a decimale in JavaScript
Innanziutto impostiamo la parte di codice inerente l’HTML.
Nel nostro caso saranno semplicemente due caselle di input:
Ho inserito sulla casella di input in ingresso, ovvero quella dove scriveremo il numero binario, due eventi:
- onkeyup che utilizzo per attivare la funzione change;
- onkeypress che utilizzo per controllare se il numero è valido.
Chiaramente potrei gestire anche diversamente questi eventi lato JavaScript.
Sviluppiamo quindi la funzione isValidNumber, la quale verifica che il numero in ingresso sia 0 oppure 1. In questo modo se proviamo a digitare altri numeri o lettere non verranno presi in considerazione.
function isValidNumber(e) {
if (e.keyCode == 48 || e.keyCode == 49) {
return true;
}
return false;
}
Sviluppiamo adesso una funzione che consente di trasformare in decimale il numero binario preso in considerazione.
Seguiamo questo metodo:
- Trasformiamo in una lista il numero inserito nel campo di input con id binario;
- Invertiamo la lista;
- Applichiamo il metodo forEach per scorrere la lista.
- Dunquem, per ogni elemento controlliamo che il numero sia 1. Se la condizione è soddisfatta si aggiunge alla variabile decimale la potenza di riferimento, ottenuta grazie all’utilizzo di index.
- Si restituisce il numero decimale ottenuto.
Ecco dunque una possibile implementazione dell’algoritmo per la conversione binario decimale in JavaScript:
function bin_dec(num){
decimal = 0;
num = Array.from(String(num), Number);
num = num.reverse();
num.forEach((number, index) => {
if (number == 1) {
decimal += Math.pow(2, index);
}
})
return decimal;
}
Creiamo adesso la funzione change che richiama la funzione di conversione.
function change(name) {
b = document.getElementById("binary").value;
conversion = bin_dec(b);
result.value = conversion;
}
Chiaramente questo è uno dei metodi per il sistema di conversione da binario a decimale in JavaScript, scrivete il vostro metodo nei commenti sotto.
Alcuni link utili
Indice argomenti tutorial JavaScript
Come trovare immagini per il sito web
Quali colori scegliere per un sito web
Quali font scegliere per un sito web