Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created March 11, 2019 04:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/c43acda8f892a0dc01d71b066c3cfecc to your computer and use it in GitHub Desktop.
Save parzibyte/c43acda8f892a0dc01d71b066c3cfecc to your computer and use it in GitHub Desktop.
public static long convertirBinarioADecimalManual(String binario) {
// A este número le vamos a sumar cada valor binario
long decimal = 0;
int posicion = 0;
// Recorrer la cadena...
for (int x = binario.length() - 1; x >= 0; x--) {
// Saber si es 1 o 0; primero asumimos que es 1 y abajo comprobamos
short digito = 1;
if (binario.charAt(x) == '0') {
digito = 0;
}
/*
Se multiplica el dígito por 2 elevado a la potencia
según la posición; comenzando en 0, luego 1 y así
sucesivamente
*/
double multiplicador = Math.pow(2, posicion);
decimal += digito * multiplicador;
posicion++;
}
return decimal;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment