Ciao a tutti, sapete darmi un consiglio dovrei fare un metodo che dati due input binari deve fare la somma.
Se esiste un eventuale riporto dovrei salvarlo in una variabile.
La lunghezza dei campi input è di 4 caratteri.
Ciao a tutti, sapete darmi un consiglio dovrei fare un metodo che dati due input binari deve fare la somma.
Se esiste un eventuale riporto dovrei salvarlo in una variabile.
La lunghezza dei campi input è di 4 caratteri.
Prova così:
Se non funziona o non capisci qualcosa, chiedi pure.Codice:var overflow = 0; function somma(a,b) { var somma = parseInt(a,2) + parseInt(b,2); if(somma & 16) overflow = 1; //return somma & 0xF; //in decimale return (somma & 0xF).toString(2); //in binario }
Ciao!
Ultima modifica di alemoppo : 02-07-2014 alle ore 22.24.29
regolamento altervista_______________ regolamento forum
Ti ringrazio, un'ultima cosa se devo fare uno shift a destra ">>" ho questo numero di 4 bit, se inizia per zero il numero diventera a 3 bit.
Come posso forzarlo per farlo iniziare per zero, pensavo di farlo considerare come stringa.
Se vuoi tenere solo i primi 3 bit:
Ciao!Codice:numero &= 7;
regolamento altervista_______________ regolamento forum
Se vuoi tenere solo i primi 3 bit? Non ho capito xD
Ah scusami, vuoi fare uno shift destro.
Non puoi usare lo shift?Ciao!Codice:numero >>= 1;
regolamento altervista_______________ regolamento forum
Il problema che il numero è binario faccendo shift destro, lo considera come numero naturale.
Ah ok, beh, lo puoi trasformare in decimale come detto sopra con la parseInt() sfruttando il secondo parametro, poi shiftare e ritrasformare.
Ciao!
regolamento altervista_______________ regolamento forum